<html>
<head><meta charset="UTF-8" /><script>
var $gwt_version = "2.2.0";
var $wnd = parent;
var $doc = $wnd.document;
var $moduleName, $moduleBase;
var $strongName = 'A5D7A78859B3E34BFC7D1A0F986ADF30';
var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null,
$sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;
$stats && $stats({moduleName:'achievingdreams',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});
</script></head>
<body>
<script><!--
var _, N36ee80_longLit = {l:594304, m:4194303, h:1048575}, N81_longLit = {l:4194175, m:4194303, h:1048575}, N1_longLit = {l:4194303, m:4194303, h:1048575}, P0_longLit = {l:0, m:0, h:0}, P80_longLit = {l:128, m:0, h:0}, P3e8_longLit = {l:1000, m:0, h:0}, P36ee80_longLit = {l:3600000, m:0, h:0}, P5265c00_longLit = {l:2513920, m:20, h:0};
function nullMethod(){
}

function Object_0(){
}

_ = Object_0.prototype = {};
_.equals$ = function equals(other){
  return this === other;
}
;
_.getClass$ = function getClass_0(){
  return Ljava_lang_Object_2_classLit;
}
;
_.hashCode$ = function hashCode_0(){
  return this.$H || (this.$H = ++sNextHashId);
}
;
_.toString$ = function toString_0(){
  return (this.typeMarker$ == nullMethod || this.castableTypeMap$ && !!this.castableTypeMap$[1]?this.getClass$():Lcom_google_gwt_core_client_JavaScriptObject_2_classLit).typeName + '@' + toPowerOfTwoString(this.typeMarker$ == nullMethod || this.castableTypeMap$ && !!this.castableTypeMap$[1]?this.hashCode$():this.$H || (this.$H = ++sNextHashId));
}
;
_.toString = function(){
  return this.toString$();
}
;
_.typeMarker$ = nullMethod;
_.castableTypeMap$ = {};
function $addEvent_0(this$static){
  var date, name_0, newEvent, callback;
  name_0 = $getPropertyString(this$static.newEventNameTextBox.element, 'value');
  date = $parseDate(this$static.newEventDatePicker, true);
  if ($equals_2(name_0, '') || !date) {
    return;
  }
  newEvent = new VolunteerEvent_1(name_0, date);
  !this$static.volEventSvc && (this$static.volEventSvc = new VolunteerEventService_Proxy_0);
  callback = new AchievingDreams$9_0(this$static);
  $addEvent_1(this$static.volEventSvc, newEvent, callback);
  this$static.newEventNameTextBox.element['value'] = '';
  $setValue(this$static.newEventDatePicker);
}

function $loadEventsTable(this$static){
  var actionCell, dateCell, dateColumn, nameColumn, removeColumn, signUpColumn;
  this$static.signOutLink.element.href = this$static.loginInfo.logoutUrl;
  nameColumn = new AchievingDreams$2_0;
  $addColumn(this$static.eventsTable, nameColumn, 'Event');
  dateCell = new DateCell_0;
  dateColumn = new AchievingDreams$3_0(dateCell);
  $addColumn(this$static.eventsTable, dateColumn, 'Date');
  actionCell = new ActionCell_1('Sign-up', new AchievingDreams$4_0);
  signUpColumn = new AchievingDreams$5_0(actionCell);
  $addColumn(this$static.eventsTable, signUpColumn, 'Sign Up');
  actionCell = new ActionCell_1('Remove', new AchievingDreams$6_0(this$static));
  removeColumn = new AchievingDreams$7_0(actionCell);
  $addColumn(this$static.eventsTable, removeColumn, 'Remove');
  $add_1(this$static.addPanel, this$static.newEventNameTextBox);
  $add_1(this$static.addPanel, this$static.newEventDatePicker);
  $add_1(this$static.addPanel, this$static.addEventButton);
  $add_2(this$static.mainPanel, this$static.signOutLink);
  $add_2(this$static.mainPanel, this$static.eventsTable);
  $add_2(this$static.mainPanel, this$static.addPanel);
  $add_0(get_0('eventList'), this$static.mainPanel);
  this$static.newEventNameTextBox.element.focus();
  $addDomHandler(this$static.addEventButton, new AchievingDreams$8_0(this$static), ($clinit_105() , $clinit_105() , TYPE_0));
  $refreshTable(this$static);
}

function $loadLogin(this$static){
  this$static.signInLink.element.href = this$static.loginInfo.loginUrl;
  $add_2(this$static.loginPanel, this$static.loginLabel);
  $add_2(this$static.loginPanel, this$static.signInLink);
  $add_0(get_0('eventList'), this$static.loginPanel);
}

function $onModuleLoad(this$static){
  var loginService, s, i;
  loginService = new LoginService_Proxy_0;
  $login(loginService, (s = $doc.location.href , i = s.indexOf('#') , i != -1 && (s = s.substring(0, i)) , i = s.indexOf('?') , i != -1 && (s = s.substring(0, i)) , i = s.lastIndexOf('/') , i != -1 && (s = s.substring(0, i)) , s.length > 0?s + '/':''), new AchievingDreams$1_0(this$static));
}

function $refreshTable(this$static){
  var callback;
  !this$static.volEventSvc && (this$static.volEventSvc = new VolunteerEventService_Proxy_0);
  callback = new AchievingDreams$11_0(this$static);
  $getAllEvents(this$static.volEventSvc, callback);
}

function $removeEvent(this$static, event_0){
  var callback;
  !this$static.volEventSvc && (this$static.volEventSvc = new VolunteerEventService_Proxy_0);
  callback = new AchievingDreams$10_0(this$static);
  $removeEvent_0(this$static.volEventSvc, event_0, callback);
}

function $updateTable(this$static, events){
  $setRowCount_0(this$static.eventsTable.presenter, events.size_0(), true);
  $setRowData_0(this$static.eventsTable.presenter, events);
}

function AchievingDreams_0(){
  this.mainPanel = new VerticalPanel_0;
  this.eventsTable = new CellTable_0;
  this.addPanel = new HorizontalPanel_0;
  this.newEventNameTextBox = new TextBox_0;
  this.newEventDatePicker = new DateBox_0;
  this.addEventButton = new Button_1;
  this.loginPanel = new VerticalPanel_0;
  this.loginLabel = new Label_1;
  this.signInLink = new Anchor_2('Sign In');
  this.signOutLink = new Anchor_2('Sign Out');
  this.volEventSvc = new VolunteerEventService_Proxy_0;
}

function AchievingDreams(){
}

_ = AchievingDreams_0.prototype = AchievingDreams.prototype = new Object_0;
_.getClass$ = function getClass_1(){
  return Lcom_bkd_dreams_client_AchievingDreams_2_classLit;
}
;
_.castableTypeMap$ = {};
_.loginInfo = null;
function AchievingDreams$1_0(this$0){
  this.this$0 = this$0;
}

function AchievingDreams$1(){
}

_ = AchievingDreams$1_0.prototype = AchievingDreams$1.prototype = new Object_0;
_.getClass$ = function getClass_2(){
  return Lcom_bkd_dreams_client_AchievingDreams$1_2_classLit;
}
;
_.onFailure = function onFailure(error){
}
;
_.onSuccess = function onSuccess(result){
  this.this$0.loginInfo = dynamicCast(result, 2);
  this.this$0.loginInfo.loggedIn?$loadEventsTable(this.this$0):$loadLogin(this.this$0);
}
;
_.castableTypeMap$ = {};
_.this$0 = null;
function $onSuccess_0(this$static){
  $refreshTable(this$static.this$0);
}

function AchievingDreams$10_0(this$0){
  this.this$0 = this$0;
}

function AchievingDreams$10(){
}

_ = AchievingDreams$10_0.prototype = AchievingDreams$10.prototype = new Object_0;
_.getClass$ = function getClass_3(){
  return Lcom_bkd_dreams_client_AchievingDreams$10_2_classLit;
}
;
_.onFailure = function onFailure_0(caught){
}
;
_.onSuccess = function onSuccess_0(result){
  $onSuccess_0(this, throwClassCastExceptionUnlessNull(result));
}
;
_.castableTypeMap$ = {};
_.this$0 = null;
function AchievingDreams$11_0(this$0){
  this.this$0 = this$0;
}

function AchievingDreams$11(){
}

_ = AchievingDreams$11_0.prototype = AchievingDreams$11.prototype = new Object_0;
_.getClass$ = function getClass_4(){
  return Lcom_bkd_dreams_client_AchievingDreams$11_2_classLit;
}
;
_.onFailure = function onFailure_1(caught){
}
;
_.onSuccess = function onSuccess_1(result){
  $updateTable(this.this$0, dynamicCast(result, 3));
}
;
_.castableTypeMap$ = {};
_.this$0 = null;
function Column(){
}

_ = Column.prototype = new Object_0;
_.getClass$ = function getClass_5(){
  return Lcom_google_gwt_user_cellview_client_Column_2_classLit;
}
;
_.castableTypeMap$ = {27:1};
_.cell = null;
function TextColumn(){
}

_ = TextColumn.prototype = new Column;
_.getClass$ = function getClass_6(){
  return Lcom_google_gwt_user_cellview_client_TextColumn_2_classLit;
}
;
_.castableTypeMap$ = {27:1};
function AchievingDreams$2_0(){
  this.cell = new TextCell_0;
}

function AchievingDreams$2(){
}

_ = AchievingDreams$2_0.prototype = AchievingDreams$2.prototype = new TextColumn;
_.getClass$ = function getClass_7(){
  return Lcom_bkd_dreams_client_AchievingDreams$2_2_classLit;
}
;
_.getValue = function getValue(event_0){
  return dynamicCast(event_0, 4).name_0;
}
;
_.castableTypeMap$ = {27:1};
function AchievingDreams$3_0($anonymous0){
  this.cell = $anonymous0;
}

function AchievingDreams$3(){
}

_ = AchievingDreams$3_0.prototype = AchievingDreams$3.prototype = new Column;
_.getClass$ = function getClass_8(){
  return Lcom_bkd_dreams_client_AchievingDreams$3_2_classLit;
}
;
_.getValue = function getValue_0(event_0){
  return dynamicCast(event_0, 4).date;
}
;
_.castableTypeMap$ = {27:1};
function AchievingDreams$4_0(){
}

function AchievingDreams$4(){
}

_ = AchievingDreams$4_0.prototype = AchievingDreams$4.prototype = new Object_0;
_.execute = function execute(event_0){
  dynamicCast(event_0, 4);
  $wnd.alert('Signing up');
}
;
_.getClass$ = function getClass_9(){
  return Lcom_bkd_dreams_client_AchievingDreams$4_2_classLit;
}
;
_.castableTypeMap$ = {};
function AchievingDreams$5_0($anonymous0){
  this.cell = $anonymous0;
}

function AchievingDreams$5(){
}

_ = AchievingDreams$5_0.prototype = AchievingDreams$5.prototype = new Column;
_.getClass$ = function getClass_10(){
  return Lcom_bkd_dreams_client_AchievingDreams$5_2_classLit;
}
;
_.getValue = function getValue_1(event_0){
  return dynamicCast(event_0, 4);
}
;
_.castableTypeMap$ = {27:1};
function AchievingDreams$6_0(this$0){
  this.this$0 = this$0;
}

function AchievingDreams$6(){
}

_ = AchievingDreams$6_0.prototype = AchievingDreams$6.prototype = new Object_0;
_.execute = function execute_0(event_0){
  $removeEvent(this.this$0, dynamicCast(event_0, 4));
}
;
_.getClass$ = function getClass_11(){
  return Lcom_bkd_dreams_client_AchievingDreams$6_2_classLit;
}
;
_.castableTypeMap$ = {};
_.this$0 = null;
function AchievingDreams$7_0($anonymous0){
  this.cell = $anonymous0;
}

function AchievingDreams$7(){
}

_ = AchievingDreams$7_0.prototype = AchievingDreams$7.prototype = new Column;
_.getClass$ = function getClass_12(){
  return Lcom_bkd_dreams_client_AchievingDreams$7_2_classLit;
}
;
_.getValue = function getValue_2(event_0){
  return dynamicCast(event_0, 4);
}
;
_.castableTypeMap$ = {27:1};
function AchievingDreams$8_0(this$0){
  this.this$0 = this$0;
}

function AchievingDreams$8(){
}

_ = AchievingDreams$8_0.prototype = AchievingDreams$8.prototype = new Object_0;
_.getClass$ = function getClass_13(){
  return Lcom_bkd_dreams_client_AchievingDreams$8_2_classLit;
}
;
_.onClick = function onClick(event_0){
  $addEvent_0(this.this$0);
}
;
_.castableTypeMap$ = {9:1, 16:1};
_.this$0 = null;
function $onSuccess_2(this$static){
  $refreshTable(this$static.this$0);
}

function AchievingDreams$9_0(this$0){
  this.this$0 = this$0;
}

function AchievingDreams$9(){
}

_ = AchievingDreams$9_0.prototype = AchievingDreams$9.prototype = new Object_0;
_.getClass$ = function getClass_14(){
  return Lcom_bkd_dreams_client_AchievingDreams$9_2_classLit;
}
;
_.onFailure = function onFailure_2(caught){
}
;
_.onSuccess = function onSuccess_2(result){
  $onSuccess_2(this, throwClassCastExceptionUnlessNull(result));
}
;
_.castableTypeMap$ = {};
_.this$0 = null;
function LoginInfo_0(){
}

function LoginInfo(){
}

_ = LoginInfo_0.prototype = LoginInfo.prototype = new Object_0;
_.getClass$ = function getClass_15(){
  return Lcom_bkd_dreams_client_LoginInfo_2_classLit;
}
;
_.castableTypeMap$ = {2:1, 66:1};
_.emailAddress = null;
_.loggedIn = false;
_.loginUrl = null;
_.logoutUrl = null;
_.nickname = null;
function deserialize(streamReader, instance){
  instance.emailAddress = $getString(streamReader, streamReader.results[--streamReader.index_0]);
  instance.loggedIn = !!streamReader.results[--streamReader.index_0];
  instance.loginUrl = $getString(streamReader, streamReader.results[--streamReader.index_0]);
  instance.logoutUrl = $getString(streamReader, streamReader.results[--streamReader.index_0]);
  instance.nickname = $getString(streamReader, streamReader.results[--streamReader.index_0]);
}

function instantiate(streamReader){
  return new LoginInfo_0;
}

function $createStreamReader(this$static, encoded){
  var clientSerializationStreamReader;
  clientSerializationStreamReader = new ClientSerializationStreamReader_0(this$static.serializer);
  $prepareToRead_0(clientSerializationStreamReader, getEncodedInstance(encoded));
  return clientSerializationStreamReader;
}

function $createStreamWriter(this$static){
  var clientSerializationStreamWriter;
  clientSerializationStreamWriter = new ClientSerializationStreamWriter_0(this$static.serializer, this$static.moduleBaseURL, this$static.serializationPolicyName);
  clientSerializationStreamWriter.objectCount = 0;
  $clearImpl(clientSerializationStreamWriter.objectMap);
  $clearImpl(clientSerializationStreamWriter.stringMap);
  $clear(clientSerializationStreamWriter.stringTable);
  clientSerializationStreamWriter.encodeBuffer = new StringBuffer_0;
  $writeString(clientSerializationStreamWriter, clientSerializationStreamWriter.moduleBaseURL);
  $writeString(clientSerializationStreamWriter, clientSerializationStreamWriter.serializationPolicyStrongName);
  return clientSerializationStreamWriter;
}

function $doInvoke(this$static, responseReader, methodName, statsContext, requestData, callback){
  var $e0, ex, iex, rb;
  rb = $doPrepareRequestBuilderImpl(this$static, responseReader, methodName, statsContext, requestData, callback);
  try {
    return throwIfNull('callback', rb.callback) , $doSend(rb, rb.requestData, rb.callback);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 38)) {
      ex = $e0;
      iex = new InvocationException_1(ex);
      callback.onFailure(iex);
    }
     else 
      throw $e0;
  }
   finally {
    !!$stats && $stats($bytesStat(statsContext, methodName, requestData.length, 'requestSent'));
  }
  return null;
}

function $doPrepareRequestBuilderImpl(this$static, responseReader, methodName, statsContext, requestData, callback){
  var responseHandler;
  if (this$static.remoteServiceURL == null) {
    throw new ServiceDefTarget$NoServiceEntryPointSpecifiedException_0;
  }
  responseHandler = new RequestCallbackAdapter_0(this$static, methodName, statsContext, callback, responseReader);
  !this$static.rpcRequestBuilder && (this$static.rpcRequestBuilder = new RpcRequestBuilder_0);
  $create(this$static.rpcRequestBuilder, this$static.remoteServiceURL);
  $setCallback(this$static.rpcRequestBuilder, responseHandler);
  $setHeader(this$static.rpcRequestBuilder.builder, 'Content-Type', 'text/x-gwt-rpc; charset=utf-8');
  $setRequestData(this$static.rpcRequestBuilder, requestData);
  return $finish(this$static.rpcRequestBuilder);
}

function RemoteServiceProxy_0(moduleBaseURL, remoteServiceRelativePath, serializationPolicyName, serializer){
  this.moduleBaseURL = moduleBaseURL;
  remoteServiceRelativePath != null && (this.remoteServiceURL = moduleBaseURL + remoteServiceRelativePath);
  this.serializer = serializer;
  this.serializationPolicyName = serializationPolicyName;
}

function getEncodedInstance(encodedResponse){
  if (encodedResponse.indexOf('//OK') == 0 || encodedResponse.indexOf('//EX') == 0) {
    return encodedResponse.substr(4, encodedResponse.length - 4);
  }
  return encodedResponse;
}

function RemoteServiceProxy(){
}

_ = RemoteServiceProxy.prototype = new Object_0;
_.getClass$ = function getClass_16(){
  return Lcom_google_gwt_user_client_rpc_impl_RemoteServiceProxy_2_classLit;
}
;
_.castableTypeMap$ = {};
_.moduleBaseURL = null;
_.remoteServiceURL = null;
_.rpcRequestBuilder = null;
_.serializationPolicyName = null;
_.serializer = null;
function $clinit_18(){
  $clinit_18 = nullMethod;
  SERIALIZER = new LoginService_TypeSerializer_0;
}

function $login(this$static, requestUri, async){
  var $e0, payload, statsContext, streamWriter;
  statsContext = new RpcStatsContext_0;
  !!$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'rpc', evtGroup:statsContext.requestId, method:'LoginService_Proxy.login', millis:(new Date).getTime(), type:'begin'});
  streamWriter = $createStreamWriter(this$static);
  try {
    append(streamWriter.encodeBuffer, '' + $addString(streamWriter, 'com.bkd.dreams.client.LoginService'));
    append(streamWriter.encodeBuffer, '' + $addString(streamWriter, 'login'));
    append(streamWriter.encodeBuffer, '1');
    append(streamWriter.encodeBuffer, '' + $addString(streamWriter, 'java.lang.String/2004016611'));
    append(streamWriter.encodeBuffer, '' + $addString(streamWriter, requestUri));
    payload = $toString_4(streamWriter);
    !!$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'rpc', evtGroup:statsContext.requestId, method:'LoginService_Proxy.login', millis:(new Date).getTime(), type:'requestSerialized'});
    $doInvoke(this$static, ($clinit_329() , OBJECT), 'LoginService_Proxy.login', statsContext, payload, async);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (!instanceOf($e0, 5))
      throw $e0;
  }
}

function LoginService_Proxy_0(){
  $clinit_18();
  RemoteServiceProxy_0.call(this, $moduleBase, 'login', '15F603B485E616EB81BDB0E94FA8E98B', SERIALIZER);
}

function LoginService_Proxy(){
}

_ = LoginService_Proxy_0.prototype = LoginService_Proxy.prototype = new RemoteServiceProxy;
_.getClass$ = function getClass_17(){
  return Lcom_bkd_dreams_client_LoginService_1Proxy_2_classLit;
}
;
_.castableTypeMap$ = {};
var SERIALIZER;
function $check(this$static, typeSignature){
  if (!this$static.methodMapNative[typeSignature]) {
    throw new SerializationException_0(typeSignature);
  }
}

function $deserialize(this$static, stream, instance, typeSignature){
  $check(this$static, typeSignature);
  $deserialize_1(this$static.methodMapNative, stream, instance, typeSignature);
}

function $getSerializationSignature(this$static, clazz){
  return this$static.signatureMapNative[clazz.$H || (clazz.$H = ++sNextHashId)];
}

function $instantiate(this$static, stream, typeSignature){
  $check(this$static, typeSignature);
  return $instantiate_0(this$static.methodMapNative, stream, typeSignature);
}

function $serialize(this$static, stream, instance, typeSignature){
  $check(this$static, typeSignature);
  $serialize_0(this$static.methodMapNative, stream, instance, typeSignature);
}

function SerializerBase_0(methodMapNative, signatureMapNative){
  new HashMap_0;
  this.methodMapNative = methodMapNative;
  this.signatureMapNative = signatureMapNative;
}

function SerializerBase(){
}

_ = SerializerBase.prototype = new Object_0;
_.getClass$ = function getClass_18(){
  return Lcom_google_gwt_user_client_rpc_impl_SerializerBase_2_classLit;
}
;
_.castableTypeMap$ = {};
_.methodMapNative = null;
_.signatureMapNative = null;
function $clinit_20(){
  var result, result_0;
  $clinit_20 = nullMethod;
  methodMapNative_0 = (result = {} , result['com.bkd.dreams.client.LoginInfo/4249796356'] = [instantiate, deserialize] , result['com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533'] = [instantiate_3, deserialize_3, serialize_1] , result['java.lang.String/2004016611'] = [instantiate_4, deserialize_5, serialize_2] , result);
  signatureMapNative_0 = (result_0 = [] , result_0[getHashCode(Lcom_bkd_dreams_client_LoginInfo_2_classLit)] = 'com.bkd.dreams.client.LoginInfo/4249796356' , result_0[getHashCode(Lcom_google_gwt_user_client_rpc_IncompatibleRemoteServiceException_2_classLit)] = 'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533' , result_0[getHashCode(Ljava_lang_String_2_classLit)] = 'java.lang.String/2004016611' , result_0);
}

function LoginService_TypeSerializer_0(){
  $clinit_20();
  SerializerBase_0.call(this, methodMapNative_0, signatureMapNative_0);
}

function LoginService_TypeSerializer(){
}

_ = LoginService_TypeSerializer_0.prototype = LoginService_TypeSerializer.prototype = new SerializerBase;
_.getClass$ = function getClass_19(){
  return Lcom_bkd_dreams_client_LoginService_1TypeSerializer_2_classLit;
}
;
_.castableTypeMap$ = {};
var methodMapNative_0 = null, signatureMapNative_0 = null;
function VolunteerEvent_0(){
}

function VolunteerEvent_1(name_0, date){
  this.name_0 = name_0;
  this.date = date;
}

function VolunteerEvent(){
}

_ = VolunteerEvent_1.prototype = VolunteerEvent_0.prototype = VolunteerEvent.prototype = new Object_0;
_.equals$ = function equals_0(obj){
  var other, result;
  result = false;
  if (obj != null && (obj.typeMarker$ == nullMethod || obj.castableTypeMap$ && !!obj.castableTypeMap$[1]?obj.getClass$():Lcom_google_gwt_core_client_JavaScriptObject_2_classLit) == Lcom_bkd_dreams_client_VolunteerEvent_2_classLit) {
    other = dynamicCast(obj, 4);
    $equals_2(other.name_0, this.name_0) && other.date.equals$(this.date) && (result = true);
  }
  return result;
}
;
_.getClass$ = function getClass_20(){
  return Lcom_bkd_dreams_client_VolunteerEvent_2_classLit;
}
;
_.hashCode$ = function hashCode_1(){
  return 0;
}
;
_.castableTypeMap$ = {4:1, 66:1};
_.date = null;
_.key = null;
_.name_0 = null;
function $clinit_23(){
  $clinit_23 = nullMethod;
  SERIALIZER_0 = new VolunteerEventService_TypeSerializer_0;
}

function $addEvent_1(this$static, event_0, callback){
  var $e0, payload, statsContext, streamWriter;
  statsContext = new RpcStatsContext_0;
  !!$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'rpc', evtGroup:statsContext.requestId, method:'VolunteerEventService_Proxy.addEvent', millis:(new Date).getTime(), type:'begin'});
  streamWriter = $createStreamWriter(this$static);
  try {
    append(streamWriter.encodeBuffer, '' + $addString(streamWriter, 'com.bkd.dreams.client.VolunteerEventService'));
    append(streamWriter.encodeBuffer, '' + $addString(streamWriter, 'addEvent'));
    append(streamWriter.encodeBuffer, '1');
    append(streamWriter.encodeBuffer, '' + $addString(streamWriter, 'com.bkd.dreams.client.VolunteerEvent/225338943'));
    $writeObject(streamWriter, event_0);
    payload = $toString_4(streamWriter);
    !!$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'rpc', evtGroup:statsContext.requestId, method:'VolunteerEventService_Proxy.addEvent', millis:(new Date).getTime(), type:'requestSerialized'});
    $doInvoke(this$static, ($clinit_329() , VOID), 'VolunteerEventService_Proxy.addEvent', statsContext, payload, callback);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (!instanceOf($e0, 5))
      throw $e0;
  }
}

function $getAllEvents(this$static, callback){
  var $e0, payload, statsContext, streamWriter;
  statsContext = new RpcStatsContext_0;
  !!$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'rpc', evtGroup:statsContext.requestId, method:'VolunteerEventService_Proxy.getAllEvents', millis:(new Date).getTime(), type:'begin'});
  streamWriter = $createStreamWriter(this$static);
  try {
    append(streamWriter.encodeBuffer, '' + $addString(streamWriter, 'com.bkd.dreams.client.VolunteerEventService'));
    append(streamWriter.encodeBuffer, '' + $addString(streamWriter, 'getAllEvents'));
    append(streamWriter.encodeBuffer, '0');
    payload = $toString_4(streamWriter);
    !!$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'rpc', evtGroup:statsContext.requestId, method:'VolunteerEventService_Proxy.getAllEvents', millis:(new Date).getTime(), type:'requestSerialized'});
    $doInvoke(this$static, ($clinit_329() , OBJECT), 'VolunteerEventService_Proxy.getAllEvents', statsContext, payload, callback);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (!instanceOf($e0, 5))
      throw $e0;
  }
}

function $removeEvent_0(this$static, event_0, callback){
  var $e0, payload, statsContext, streamWriter;
  statsContext = new RpcStatsContext_0;
  !!$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'rpc', evtGroup:statsContext.requestId, method:'VolunteerEventService_Proxy.removeEvent', millis:(new Date).getTime(), type:'begin'});
  streamWriter = $createStreamWriter(this$static);
  try {
    append(streamWriter.encodeBuffer, '' + $addString(streamWriter, 'com.bkd.dreams.client.VolunteerEventService'));
    append(streamWriter.encodeBuffer, '' + $addString(streamWriter, 'removeEvent'));
    append(streamWriter.encodeBuffer, '1');
    append(streamWriter.encodeBuffer, '' + $addString(streamWriter, 'com.bkd.dreams.client.VolunteerEvent/225338943'));
    $writeObject(streamWriter, event_0);
    payload = $toString_4(streamWriter);
    !!$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'rpc', evtGroup:statsContext.requestId, method:'VolunteerEventService_Proxy.removeEvent', millis:(new Date).getTime(), type:'requestSerialized'});
    $doInvoke(this$static, ($clinit_329() , VOID), 'VolunteerEventService_Proxy.removeEvent', statsContext, payload, callback);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (!instanceOf($e0, 5))
      throw $e0;
  }
}

function VolunteerEventService_Proxy_0(){
  $clinit_23();
  RemoteServiceProxy_0.call(this, $moduleBase, 'volunteerEvents', '92C844DC622EF4B8769C34CD5B7AB658', SERIALIZER_0);
}

function VolunteerEventService_Proxy(){
}

_ = VolunteerEventService_Proxy_0.prototype = VolunteerEventService_Proxy.prototype = new RemoteServiceProxy;
_.getClass$ = function getClass_21(){
  return Lcom_bkd_dreams_client_VolunteerEventService_1Proxy_2_classLit;
}
;
_.castableTypeMap$ = {};
var SERIALIZER_0;
function $clinit_24(){
  var result, result_0;
  $clinit_24 = nullMethod;
  methodMapNative_1 = (result = {} , result['com.bkd.dreams.client.VolunteerEvent/225338943'] = [instantiate_1, deserialize_1, serialize] , result['[Lcom.bkd.dreams.client.VolunteerEvent;/2809401295'] = [instantiate_0, deserialize_0] , result['com.google.gwt.i18n.client.impl.DateRecord/112389920'] = [instantiate_2, deserialize_2, serialize_0] , result['com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533'] = [instantiate_3, deserialize_3, serialize_1] , result['java.lang.String/2004016611'] = [instantiate_4, deserialize_5, serialize_2] , result['java.sql.Date/3996530531'] = [instantiate_5, deserialize_6, serialize_3] , result['java.sql.Time/831929183'] = [instantiate_6, deserialize_7, serialize_4] , result['java.sql.Timestamp/1769758459'] = [instantiate_7, deserialize_8, serialize_5] , result['java.util.ArrayList/3821976829'] = [instantiate_8, deserialize_9] , result['java.util.Arrays$ArrayList/1243019747'] = [instantiate_9, deserialize_10] , result['java.util.Collections$EmptyList/3012082351'] = [instantiate_10, deserialize_12] , result['java.util.Collections$SingletonList/833432284'] = [instantiate_11, deserialize_13] , result['java.util.Date/1659716317'] = [instantiate_12, deserialize_14, serialize_6] , result['java.util.LinkedList/1060625595'] = [instantiate_13, deserialize_15] , result['java.util.Stack/1031431137'] = [instantiate_14, deserialize_16] , result['java.util.Vector/3125574444'] = [instantiate_15, deserialize_17] , result);
  signatureMapNative_1 = (result_0 = [] , result_0[getHashCode(Lcom_bkd_dreams_client_VolunteerEvent_2_classLit)] = 'com.bkd.dreams.client.VolunteerEvent/225338943' , result_0[getHashCode(_3Lcom_bkd_dreams_client_VolunteerEvent_2_classLit)] = '[Lcom.bkd.dreams.client.VolunteerEvent;/2809401295' , result_0[getHashCode(Lcom_google_gwt_i18n_client_impl_DateRecord_2_classLit)] = 'com.google.gwt.i18n.client.impl.DateRecord/112389920' , result_0[getHashCode(Lcom_google_gwt_user_client_rpc_IncompatibleRemoteServiceException_2_classLit)] = 'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533' , result_0[getHashCode(Ljava_lang_String_2_classLit)] = 'java.lang.String/2004016611' , result_0[getHashCode(Ljava_sql_Date_2_classLit)] = 'java.sql.Date/3996530531' , result_0[getHashCode(Ljava_sql_Time_2_classLit)] = 'java.sql.Time/831929183' , result_0[getHashCode(Ljava_sql_Timestamp_2_classLit)] = 'java.sql.Timestamp/1769758459' , result_0[getHashCode(Ljava_util_ArrayList_2_classLit)] = 'java.util.ArrayList/3821976829' , result_0[getHashCode(Ljava_util_Arrays$ArrayList_2_classLit)] = 'java.util.Arrays$ArrayList/1243019747' , result_0[getHashCode(Ljava_util_Collections$EmptyList_2_classLit)] = 'java.util.Collections$EmptyList/3012082351' , result_0[getHashCode(Ljava_util_Collections$SingletonList_2_classLit)] = 'java.util.Collections$SingletonList/833432284' , result_0[getHashCode(Ljava_util_Date_2_classLit)] = 'java.util.Date/1659716317' , result_0[getHashCode(Ljava_util_LinkedList_2_classLit)] = 'java.util.LinkedList/1060625595' , result_0[getHashCode(Ljava_util_Stack_2_classLit)] = 'java.util.Stack/1031431137' , result_0[getHashCode(Ljava_util_Vector_2_classLit)] = 'java.util.Vector/3125574444' , result_0);
}

function VolunteerEventService_TypeSerializer_0(){
  $clinit_24();
  SerializerBase_0.call(this, methodMapNative_1, signatureMapNative_1);
}

function VolunteerEventService_TypeSerializer(){
}

_ = VolunteerEventService_TypeSerializer_0.prototype = VolunteerEventService_TypeSerializer.prototype = new SerializerBase;
_.getClass$ = function getClass_22(){
  return Lcom_bkd_dreams_client_VolunteerEventService_1TypeSerializer_2_classLit;
}
;
_.castableTypeMap$ = {};
var methodMapNative_1 = null, signatureMapNative_1 = null;
function deserialize_0(streamReader, instance){
  deserialize_4(streamReader, instance);
}

function instantiate_0(streamReader){
  var size;
  size = streamReader.results[--streamReader.index_0];
  return initDim(_3Lcom_bkd_dreams_client_VolunteerEvent_2_classLit, {36:1, 66:1}, 4, size, 0);
}

function deserialize_1(streamReader, instance){
  instance.date = dynamicCast($readObject(streamReader), 6);
  instance.key = $getString(streamReader, streamReader.results[--streamReader.index_0]);
  instance.name_0 = $getString(streamReader, streamReader.results[--streamReader.index_0]);
}

function instantiate_1(streamReader){
  return new VolunteerEvent_0;
}

function serialize(streamWriter, instance){
  $writeObject(streamWriter, instance.date);
  $writeString(streamWriter, instance.key);
  $writeString(streamWriter, instance.name_0);
}

function $cancel(this$static){
  if (!this$static.running) {
    return;
  }
  null.nullMethod();
  this$static.started && $onComplete(this$static);
  this$static.started = false;
  this$static.running = false;
}

function Animation(){
}

_ = Animation.prototype = new Object_0;
--></script>
<script><!--
_.getClass$ = function getClass_23(){
  return Lcom_google_gwt_animation_client_Animation_2_classLit;
}
;
_.castableTypeMap$ = {};
_.running = false;
_.started = false;
function $onBrowserEvent(this$static, context, parent_0, value, event_0, valueUpdater){
  var eventType;
  eventType = event_0.type;
  $equals_2('keydown', eventType) && (event_0.keyCode || 0) == 13 && this$static.onEnterKeyDown(context, parent_0, value, event_0, valueUpdater);
}

function AbstractCell_0(consumedEvents){
  var event_0, event$index, event$max, events, old;
  events = null;
  if (consumedEvents != null && consumedEvents.length > 0) {
    events = new HashSet_0;
    for (event$index = 0 , event$max = consumedEvents.length; event$index < event$max; ++event$index) {
      event_0 = consumedEvents[event$index];
      old = $put_0(events.map, event_0, events);
    }
  }
  !!events && (this.consumedEvents = ($clinit_527() , new Collections$UnmodifiableSet_0(events)));
}

function AbstractCell(){
}

_ = AbstractCell.prototype = new Object_0;
_.getClass$ = function getClass_24(){
  return Lcom_google_gwt_cell_client_AbstractCell_2_classLit;
}
;
_.onBrowserEvent = function onBrowserEvent(context, parent_0, value, event_0, valueUpdater){
  var eventType;
  eventType = event_0.type;
  $equals_2('keydown', eventType) && (event_0.keyCode || 0) == 13 && this.onEnterKeyDown(context, parent_0, value, event_0, valueUpdater);
}
;
_.onEnterKeyDown = function onEnterKeyDown(context, parent_0, value, event_0, valueUpdater){
}
;
_.castableTypeMap$ = {};
_.consumedEvents = null;
function $render(data, sb){
  data != null && $render_1(($clinit_226() , new SafeHtmlString_0(htmlEscape(dynamicCast(data, 1)))), sb);
}

function AbstractSafeHtmlCell_0(renderer, consumedEvents){
  AbstractCell_0.call(this, consumedEvents);
  if (!renderer) {
    throw new IllegalArgumentException_1('renderer == null');
  }
}

function AbstractSafeHtmlCell(){
}

_ = AbstractSafeHtmlCell.prototype = new AbstractCell;
_.getClass$ = function getClass_25(){
  return Lcom_google_gwt_cell_client_AbstractSafeHtmlCell_2_classLit;
}
;
_.render = function render(context, data, sb){
  data != null && $render_1(($clinit_226() , new SafeHtmlString_0(htmlEscape(dynamicCast(data, 1)))), sb);
}
;
_.castableTypeMap$ = {};
function ActionCell_0(message, delegate){
  AbstractCell_0.call(this, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['click', 'keydown']));
  this.delegate = delegate;
  this.html = new SafeHtmlString_0($appendHtmlConstant($append_1($appendHtmlConstant(new SafeHtmlBuilder_0, '<button type="button" tabindex="-1">'), message), '<\/button>').sb.impl.string);
}

function ActionCell_1(text, delegate){
  ActionCell_0.call(this, ($clinit_226() , new SafeHtmlString_0(htmlEscape(text))), delegate);
}

function ActionCell(){
}

_ = ActionCell_1.prototype = ActionCell.prototype = new AbstractCell;
_.getClass$ = function getClass_26(){
  return Lcom_google_gwt_cell_client_ActionCell_2_classLit;
}
;
_.onBrowserEvent = function onBrowserEvent_0(context, parent_0, value, event_0, valueUpdater){
  var eventType;
  eventType = event_0.type;
  $equals_2('keydown', eventType) && (event_0.keyCode || 0) == 13 && this.onEnterKeyDown(context, parent_0, value, event_0, valueUpdater);
  $equals_2('click', event_0.type) && this.delegate.execute(value);
}
;
_.onEnterKeyDown = function onEnterKeyDown_0(context, parent_0, value, event_0, valueUpdater){
  this.delegate.execute(value);
}
;
_.render = function render_0(context, value, sb){
  $append_1(sb, this.html);
}
;
_.castableTypeMap$ = {};
_.delegate = null;
_.html = null;
function Cell$Context_0(){
}

function Cell$Context(){
}

_ = Cell$Context_0.prototype = Cell$Context.prototype = new Object_0;
_.getClass$ = function getClass_27(){
  return Lcom_google_gwt_cell_client_Cell$Context_2_classLit;
}
;
_.castableTypeMap$ = {};
function $render_0(this$static, value, sb){
  !!value && $append_1(sb, ($clinit_226() , new SafeHtmlString_0(htmlEscape($format(this$static.format, value)))));
}

function DateCell_0(){
  DateCell_1.call(this, getFormat(($clinit_188() , DATE_FULL)), (!instance_1 && (instance_1 = new SimpleSafeHtmlRenderer_0) , instance_1));
}

function DateCell_1(format, renderer){
  AbstractCell_0.call(this, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, []));
  if (!format) {
    throw new IllegalArgumentException_1('format == null');
  }
  if (!renderer) {
    throw new IllegalArgumentException_1('renderer == null');
  }
  this.format = format;
}

function DateCell(){
}

_ = DateCell_0.prototype = DateCell.prototype = new AbstractCell;
_.getClass$ = function getClass_28(){
  return Lcom_google_gwt_cell_client_DateCell_2_classLit;
}
;
_.render = function render_1(context, value, sb){
  $render_0(this, dynamicCast(value, 6), sb);
}
;
_.castableTypeMap$ = {};
_.format = null;
function $render_1(value, sb){
  !!value && ($append_7(sb.sb, value.html) , sb);
}

function TextCell_0(){
  AbstractSafeHtmlCell_0.call(this, (!instance_1 && (instance_1 = new SimpleSafeHtmlRenderer_0) , instance_1), initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, []));
}

function TextCell(){
}

_ = TextCell_0.prototype = TextCell.prototype = new AbstractSafeHtmlCell;
_.getClass$ = function getClass_29(){
  return Lcom_google_gwt_cell_client_TextCell_2_classLit;
}
;
_.castableTypeMap$ = {};
function $initCause(this$static, cause){
  if (this$static.cause) {
    throw new IllegalStateException_1("Can't overwrite cause");
  }
  if (cause == this$static) {
    throw new IllegalArgumentException_1('Self-causation not permitted');
  }
  this$static.cause = cause;
  return this$static;
}

function $setStackTrace(stackTrace){
  var c, copy, i;
  copy = initDim(_3Ljava_lang_StackTraceElement_2_classLit, {36:1, 66:1}, 70, stackTrace.length, 0);
  for (i = 0 , c = stackTrace.length; i < c; ++i) {
    if (!stackTrace[i]) {
      throw new NullPointerException_0;
    }
    copy[i] = stackTrace[i];
  }
}

function Throwable(){
}

_ = Throwable.prototype = new Object_0;
_.getClass$ = function getClass_30(){
  return Ljava_lang_Throwable_2_classLit;
}
;
_.getMessage = function getMessage(){
  return this.detailMessage;
}
;
_.toString$ = function toString_1(){
  var className, msg;
  return className = this.getClass$().typeName , msg = this.getMessage() , msg != null?className + ': ' + msg:className;
}
;
_.castableTypeMap$ = {17:1, 66:1};
_.cause = null;
_.detailMessage = null;
function Exception(){
}

_ = Exception.prototype = new Throwable;
_.getClass$ = function getClass_31(){
  return Ljava_lang_Exception_2_classLit;
}
;
_.castableTypeMap$ = {17:1, 66:1};
function RuntimeException_1(message){
  $fillInStackTrace();
  this.detailMessage = message;
}

function RuntimeException_2(message, cause){
  $fillInStackTrace();
  this.cause = cause;
  this.detailMessage = message;
}

function RuntimeException(){
}

_ = RuntimeException_1.prototype = RuntimeException.prototype = new Exception;
_.getClass$ = function getClass_32(){
  return Ljava_lang_RuntimeException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
function JavaScriptException_0(e){
  $fillInStackTrace();
  this.e = e;
  $createStackTrace(this);
}

function getDescription(e){
  return instanceOfJso(e)?getDescription0(dynamicCastJso(e)):e + '';
}

function getDescription0(e){
  return e == null?null:e.message;
}

function getName_0(e){
  return e == null?'null':instanceOfJso(e)?getName0(dynamicCastJso(e)):e != null && e.castableTypeMap$ && !!e.castableTypeMap$[1]?'String':(e.typeMarker$ == nullMethod || e.castableTypeMap$ && !!e.castableTypeMap$[1]?e.getClass$():Lcom_google_gwt_core_client_JavaScriptObject_2_classLit).typeName;
}

function getName0(e){
  return e == null?null:e.name;
}

function getProperties(e){
  return instanceOfJso(e)?getProperties0(dynamicCastJso(e)):'';
}

function getProperties0(e){
  var result = '';
  try {
    for (var prop in e) {
      if (prop != 'name' && prop != 'message' && prop != 'toString') {
        try {
          result += '\n ' + prop + ': ' + e[prop];
        }
         catch (ignored) {
        }
      }
    }
  }
   catch (ignored) {
  }
  return result;
}

function JavaScriptException(){
}

_ = JavaScriptException_0.prototype = JavaScriptException.prototype = new RuntimeException;
_.getClass$ = function getClass_33(){
  return Lcom_google_gwt_core_client_JavaScriptException_2_classLit;
}
;
_.getMessage = function getMessage_0(){
  return this.message_0 == null && (this.name_0 = getName_0(this.e) , this.description = getDescription(this.e) , this.message_0 = '(' + this.name_0 + '): ' + this.description + getProperties(this.e) , undefined) , this.message_0;
}
;
_.castableTypeMap$ = {7:1, 17:1, 21:1, 66:1};
_.description = null;
_.e = null;
_.message_0 = null;
_.name_0 = null;
function equals__devirtual$(this$static, other){
  return this$static.typeMarker$ == nullMethod || this$static.castableTypeMap$ && !!this$static.castableTypeMap$[1]?this$static.equals$(other):this$static === other;
}

function hashCode__devirtual$(this$static){
  return this$static.typeMarker$ == nullMethod || this$static.castableTypeMap$ && !!this$static.castableTypeMap$[1]?this$static.hashCode$():this$static.$H || (this$static.$H = ++sNextHashId);
}

function $push_0(this$static, value){
  this$static[this$static.length] = value;
}

function Scheduler(){
}

_ = Scheduler.prototype = new Object_0;
_.getClass$ = function getClass_35(){
  return Lcom_google_gwt_core_client_Scheduler_2_classLit;
}
;
_.castableTypeMap$ = {};
function enter(){
  if (entryDepth++ == 0) {
    $flushEntryCommands(($clinit_52() , INSTANCE));
    return true;
  }
  return false;
}

function entry_0(jsFunction){
  return function(){
    try {
      return entry0(jsFunction, this, arguments);
    }
     catch (e) {
      throw e;
    }
  }
  ;
}

function entry0(jsFunction, thisObj, arguments_0){
  var initialEntry;
  initialEntry = enter();
  try {
    return jsFunction.apply(thisObj, arguments_0);
  }
   finally {
    initialEntry && $flushFinallyCommands(($clinit_52() , INSTANCE));
    --entryDepth;
  }
}

function getHashCode(o){
  return o.$H || (o.$H = ++sNextHashId);
}

var entryDepth = 0, sNextHashId = 0;
function $clinit_52(){
  $clinit_52 = nullMethod;
  INSTANCE = new SchedulerImpl_0;
}

function $flushEntryCommands(this$static){
  var oldQueue, rescheduled;
  if (this$static.entryCommands) {
    rescheduled = null;
    do {
      oldQueue = this$static.entryCommands;
      this$static.entryCommands = null;
      rescheduled = runScheduledTasks(oldQueue, rescheduled);
    }
     while (this$static.entryCommands);
    this$static.entryCommands = rescheduled;
  }
}

function $flushFinallyCommands(this$static){
  var oldQueue, rescheduled;
  if (this$static.finallyCommands) {
    rescheduled = null;
    do {
      oldQueue = this$static.finallyCommands;
      this$static.finallyCommands = null;
      rescheduled = runScheduledTasks(oldQueue, rescheduled);
    }
     while (this$static.finallyCommands);
    this$static.finallyCommands = rescheduled;
  }
}

function $scheduleFinally(this$static, cmd){
  this$static.finallyCommands = push(this$static.finallyCommands, [cmd, false]);
}

function SchedulerImpl_0(){
}

function push(queue, task){
  !queue && (queue = []);
  queue[queue.length] = task;
  return queue;
}

function runScheduledTasks(tasks, rescheduled){
  var $e0, i, j, t;
  for (i = 0 , j = tasks.length; i < j; ++i) {
    t = tasks[i];
    try {
      t[1]?t[0].nullMethod() && (rescheduled = push(rescheduled, t)):t[0].execute_0();
    }
     catch ($e0) {
      $e0 = caught_0($e0);
      if (!instanceOf($e0, 7))
        throw $e0;
    }
  }
  return rescheduled;
}

function SchedulerImpl(){
}

_ = SchedulerImpl_0.prototype = SchedulerImpl.prototype = new Scheduler;
_.getClass$ = function getClass_36(){
  return Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit;
}
;
_.castableTypeMap$ = {};
_.entryCommands = null;
_.finallyCommands = null;
var INSTANCE;
function extractNameFromToString(fnToString){
  var index, start, toReturn;
  toReturn = '';
  fnToString = $trim(fnToString);
  index = fnToString.indexOf('(');
  if (index != -1) {
    start = fnToString.indexOf('function') == 0?8:0;
    toReturn = $trim(fnToString.substr(start, index - start));
  }
  return toReturn.length > 0?toReturn:'anonymous';
}

function splice(arr, length_0){
  arr.length >= length_0 && arr.splice(0, length_0);
  return arr;
}

function $createStackTrace(e){
  var i, j, stack, stackTrace;
  stack = $inferFrom(instanceOfJso(e.e)?dynamicCastJso(e.e):null);
  stackTrace = initDim(_3Ljava_lang_StackTraceElement_2_classLit, {36:1, 66:1}, 70, stack.length, 0);
  for (i = 0 , j = stackTrace.length; i < j; ++i) {
    stackTrace[i] = new StackTraceElement_0(stack[i]);
  }
  $setStackTrace(stackTrace);
}

function $fillInStackTrace(){
  var i, j, stack, stackTrace;
  stack = splice($inferFrom($makeException()), 2);
  stackTrace = initDim(_3Ljava_lang_StackTraceElement_2_classLit, {36:1, 66:1}, 70, stack.length, 0);
  for (i = 0 , j = stackTrace.length; i < j; ++i) {
    stackTrace[i] = new StackTraceElement_0(stack[i]);
  }
  $setStackTrace(stackTrace);
}

function $makeException(){
  try {
    null.a();
  }
   catch (e) {
    return e;
  }
}

function $inferFrom(e){
  var i, j, stack;
  stack = e && e.stack?e.stack.split('\n'):[];
  for (i = 0 , j = stack.length; i < j; ++i) {
    stack[i] = extractNameFromToString(stack[i]);
  }
  return stack;
}

function StringBufferImpl(){
}

_ = StringBufferImpl.prototype = new Object_0;
_.getClass$ = function getClass_37(){
  return Lcom_google_gwt_core_client_impl_StringBufferImpl_2_classLit;
}
;
_.castableTypeMap$ = {};
function $replace(this$static, start, end, toInsert){
  this$static.string = this$static.string.substr(0, start - 0) + toInsert + $substring(this$static.string, end);
}

function $toString_1(this$static){
  return this$static.string;
}

function StringBufferImplAppend_0(){
}

function StringBufferImplAppend(){
}

_ = StringBufferImplAppend_0.prototype = StringBufferImplAppend.prototype = new StringBufferImpl;
_.getClass$ = function getClass_38(){
  return Lcom_google_gwt_core_client_impl_StringBufferImplAppend_2_classLit;
}
;
_.castableTypeMap$ = {};
_.string = '';
function $addClassName(this$static, className){
  var idx, last, lastPos, oldClassName;
  className = $trim(className);
  oldClassName = this$static.className;
  idx = oldClassName.indexOf(className);
  while (idx != -1) {
    if (idx == 0 || oldClassName.charCodeAt(idx - 1) == 32) {
      last = idx + className.length;
      lastPos = oldClassName.length;
      if (last == lastPos || last < lastPos && oldClassName.charCodeAt(last) == 32) {
        break;
      }
    }
    idx = oldClassName.indexOf(className, idx + 1);
  }
  if (idx == -1) {
    oldClassName.length > 0 && (oldClassName += ' ');
    this$static.className = oldClassName + className;
  }
}

function $getPropertyString(this$static, name_0){
  return this$static[name_0] == null?null:String(this$static[name_0]);
}

function $removeClassName(this$static, className){
  var begin, end, idx, last, lastPos, newClassName, oldStyle;
  className = $trim(className);
  oldStyle = this$static.className;
  idx = oldStyle.indexOf(className);
  while (idx != -1) {
    if (idx == 0 || oldStyle.charCodeAt(idx - 1) == 32) {
      last = idx + className.length;
      lastPos = oldStyle.length;
      if (last == lastPos || last < lastPos && oldStyle.charCodeAt(last) == 32) {
        break;
      }
    }
    idx = oldStyle.indexOf(className, idx + 1);
  }
  if (idx != -1) {
    begin = $trim(oldStyle.substr(0, idx - 0));
    end = $trim($substring(oldStyle, idx + className.length));
    begin.length == 0?(newClassName = end):end.length == 0?(newClassName = begin):(newClassName = begin + ' ' + end);
    this$static.className = newClassName;
  }
}

function is_0(o){
  if (!!o && !!o.nodeType) {
    return !!o && o.nodeType == 1;
  }
  return false;
}

function $getFirstChildElement(elem){
  var child = elem.firstChild;
  while (child && child.nodeType != 1)
    child = child.nextSibling;
  return child;
}

function $getNextSiblingElement(elem){
  var sib = elem.nextSibling;
  while (sib && sib.nodeType != 1)
    sib = sib.nextSibling;
  return sib;
}

function $getParentElement(node){
  var parent_0 = node.parentNode;
  (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null);
  return parent_0;
}

function $createMouseEvent(doc, type, canBubble, cancelable, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget){
  button == 1?(button = 0):button == 4?(button = 1):(button = 2);
  var evt = doc.createEvent('MouseEvents');
  evt.initMouseEvent(type, canBubble, cancelable, null, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget);
  return evt;
}

function $eventGetButton(evt){
  var button = evt.button;
  if (button == 1) {
    return 4;
  }
   else if (button == 2) {
    return 2;
  }
  return 1;
}

function $eventGetRelatedTarget(evt){
  var relatedTarget = evt.relatedTarget;
  if (!relatedTarget) {
    return null;
  }
  try {
    var nodeName = relatedTarget.nodeName;
    return relatedTarget;
  }
   catch (e) {
    return null;
  }
}

function $getAbsoluteLeft(elem){
  return $getAbsoluteLeftImpl($getViewportElement(elem.ownerDocument), elem);
}

function $getAbsoluteLeftImpl(viewport, elem){
  if (Element.prototype.getBoundingClientRect) {
    return elem.getBoundingClientRect().left + viewport.scrollLeft | 0;
  }
   else {
    var doc = elem.ownerDocument;
    return doc.getBoxObjectFor(elem).screenX - doc.getBoxObjectFor(doc.documentElement).screenX;
  }
}

function $getAbsoluteTop(elem){
  return $getAbsoluteTopImpl($getViewportElement(elem.ownerDocument), elem);
}

function $getAbsoluteTopImpl(viewport, elem){
  if (Element.prototype.getBoundingClientRect) {
    return elem.getBoundingClientRect().top + viewport.scrollTop | 0;
  }
   else {
    var doc = elem.ownerDocument;
    return doc.getBoxObjectFor(elem).screenY - doc.getBoxObjectFor(doc.documentElement).screenY;
  }
}

function $getScrollLeft_0(elem){
  var style;
  if (!$isGecko19() && (style = elem.ownerDocument.defaultView.getComputedStyle(elem, null) , style.direction == 'rtl')) {
    return (elem.scrollLeft || 0) - ((elem.scrollWidth || 0) - elem.clientWidth);
  }
  return elem.scrollLeft || 0;
}

function $isGecko19(){
  var result = /rv:([0-9]+)\.([0-9]+)/.exec(navigator.userAgent.toLowerCase());
  if (result && result.length == 3) {
    var version = parseInt(result[1]) * 1000 + parseInt(result[2]);
    if (version >= 1009) {
      return true;
    }
  }
  return false;
}

function $isOrHasChild(parent_0, child){
  return parent_0 === child || !!(parent_0.compareDocumentPosition(child) & 16);
}

function $toString_2(elem){
  var doc = elem.ownerDocument;
  var temp = elem.cloneNode(true);
  var tempDiv = doc.createElement('DIV');
  tempDiv.appendChild(temp);
  outer = tempDiv.innerHTML;
  temp.innerHTML = '';
  return outer;
}

function $getClientHeight_0(this$static){
  return ($equals_2(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).clientHeight;
}

function $getClientWidth_0(this$static){
  return ($equals_2(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).clientWidth;
}

function $getScrollHeight_0(this$static){
  return ($equals_2(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).scrollHeight || 0;
}

function $getScrollLeft_1(this$static){
  return $getScrollLeft_0($equals_2(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body);
}

function $getScrollTop_0(this$static){
  return ($equals_2(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).scrollTop || 0;
}

function $getScrollWidth_0(this$static){
  return ($equals_2(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).scrollWidth || 0;
}

function $getViewportElement(this$static){
  return $equals_2(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body;
}

function Enum(){
}

_ = Enum.prototype = new Object_0;
_.compareTo$ = function compareTo(other){
  return this.ordinal - dynamicCast(other, 37).ordinal;
}
;
_.equals$ = function equals_2(other){
  return this === other;
}
;
_.getClass$ = function getClass_39(){
  return Ljava_lang_Enum_2_classLit;
}
;
_.hashCode$ = function hashCode_3(){
  return this.$H || (this.$H = ++sNextHashId);
}
;
_.toString$ = function toString_3(){
  return this.name_0;
}
;
_.castableTypeMap$ = {37:1, 66:1, 68:1};
_.name_0 = null;
_.ordinal = 0;
function $clinit_70(){
  $clinit_70 = nullMethod;
  NONE = new Style$Display$1_0;
  BLOCK = new Style$Display$2_0;
  INLINE = new Style$Display$3_0;
  INLINE_BLOCK = new Style$Display$4_0;
  $VALUES = initValues(_3Lcom_google_gwt_dom_client_Style$Display_2_classLit, {36:1, 66:1}, 53, [NONE, BLOCK, INLINE, INLINE_BLOCK]);
}

function values_0(){
  $clinit_70();
  return $VALUES;
}

function Style$Display(){
}

_ = Style$Display.prototype = new Enum;
_.getClass$ = function getClass_40(){
  return Lcom_google_gwt_dom_client_Style$Display_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 53:1, 54:1, 66:1, 68:1};
var $VALUES, BLOCK, INLINE, INLINE_BLOCK, NONE;
function Style$Display$1_0(){
  this.name_0 = 'NONE';
  this.ordinal = 0;
}

function Style$Display$1(){
}

_ = Style$Display$1_0.prototype = Style$Display$1.prototype = new Style$Display;
_.getClass$ = function getClass_41(){
  return Lcom_google_gwt_dom_client_Style$Display$1_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 53:1, 54:1, 66:1, 68:1};
function Style$Display$2_0(){
  this.name_0 = 'BLOCK';
  this.ordinal = 1;
}

function Style$Display$2(){
}

_ = Style$Display$2_0.prototype = Style$Display$2.prototype = new Style$Display;
_.getClass$ = function getClass_42(){
  return Lcom_google_gwt_dom_client_Style$Display$2_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 53:1, 54:1, 66:1, 68:1};
function Style$Display$3_0(){
  this.name_0 = 'INLINE';
  this.ordinal = 2;
}

function Style$Display$3(){
}

_ = Style$Display$3_0.prototype = Style$Display$3.prototype = new Style$Display;
_.getClass$ = function getClass_43(){
  return Lcom_google_gwt_dom_client_Style$Display$3_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 53:1, 54:1, 66:1, 68:1};
function Style$Display$4_0(){
  this.name_0 = 'INLINE_BLOCK';
  this.ordinal = 3;
}

function Style$Display$4(){
}

_ = Style$Display$4_0.prototype = Style$Display$4.prototype = new Style$Display;
_.getClass$ = function getClass_44(){
  return Lcom_google_gwt_dom_client_Style$Display$4_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 53:1, 54:1, 66:1, 68:1};
function $clinit_76(){
  $clinit_76 = nullMethod;
  VISIBLE = new Style$Overflow$1_0;
  HIDDEN = new Style$Overflow$2_0;
  SCROLL = new Style$Overflow$3_0;
  AUTO = new Style$Overflow$4_0;
  $VALUES_0 = initValues(_3Lcom_google_gwt_dom_client_Style$Overflow_2_classLit, {36:1, 66:1}, 55, [VISIBLE, HIDDEN, SCROLL, AUTO]);
}

function values_1(){
  $clinit_76();
  return $VALUES_0;
}

function Style$Overflow(){
}

_ = Style$Overflow.prototype = new Enum;
_.getClass$ = function getClass_45(){
  return Lcom_google_gwt_dom_client_Style$Overflow_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 54:1, 55:1, 66:1, 68:1};
var $VALUES_0, AUTO, HIDDEN, SCROLL, VISIBLE;
function Style$Overflow$1_0(){
  this.name_0 = 'VISIBLE';
  this.ordinal = 0;
}

function Style$Overflow$1(){
}

_ = Style$Overflow$1_0.prototype = Style$Overflow$1.prototype = new Style$Overflow;
_.getClass$ = function getClass_46(){
  return Lcom_google_gwt_dom_client_Style$Overflow$1_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 54:1, 55:1, 66:1, 68:1};
function Style$Overflow$2_0(){
  this.name_0 = 'HIDDEN';
  this.ordinal = 1;
}

function Style$Overflow$2(){
}

_ = Style$Overflow$2_0.prototype = Style$Overflow$2.prototype = new Style$Overflow;
_.getClass$ = function getClass_47(){
  return Lcom_google_gwt_dom_client_Style$Overflow$2_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 54:1, 55:1, 66:1, 68:1};
function Style$Overflow$3_0(){
  this.name_0 = 'SCROLL';
  this.ordinal = 2;
}

function Style$Overflow$3(){
}

_ = Style$Overflow$3_0.prototype = Style$Overflow$3.prototype = new Style$Overflow;
_.getClass$ = function getClass_48(){
  return Lcom_google_gwt_dom_client_Style$Overflow$3_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 54:1, 55:1, 66:1, 68:1};
function Style$Overflow$4_0(){
  this.name_0 = 'AUTO';
  this.ordinal = 3;
}

function Style$Overflow$4(){
}

_ = Style$Overflow$4_0.prototype = Style$Overflow$4.prototype = new Style$Overflow;
_.getClass$ = function getClass_49(){
  return Lcom_google_gwt_dom_client_Style$Overflow$4_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 54:1, 55:1, 66:1, 68:1};
function $clinit_81(){
  $clinit_81 = nullMethod;
  PX = new Style$Unit$1_0;
  PCT = new Style$Unit$2_0;
  EM = new Style$Unit$3_0;
  EX = new Style$Unit$4_0;
  PT = new Style$Unit$5_0;
  PC = new Style$Unit$6_0;
  IN = new Style$Unit$7_0;
  CM = new Style$Unit$8_0;
  MM = new Style$Unit$9_0;
  $VALUES_1 = initValues(_3Lcom_google_gwt_dom_client_Style$Unit_2_classLit, {36:1, 66:1}, 56, [PX, PCT, EM, EX, PT, PC, IN, CM, MM]);
}

function values_2(){
  $clinit_81();
  return $VALUES_1;
}

function Style$Unit(){
}

_ = Style$Unit.prototype = new Enum;
_.getClass$ = function getClass_50(){
  return Lcom_google_gwt_dom_client_Style$Unit_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 56:1, 66:1, 68:1};
var $VALUES_1, CM, EM, EX, IN, MM, PC, PCT, PT, PX;
function Style$Unit$1_0(){
  this.name_0 = 'PX';
  this.ordinal = 0;
}

function Style$Unit$1(){
}

_ = Style$Unit$1_0.prototype = Style$Unit$1.prototype = new Style$Unit;
_.getClass$ = function getClass_51(){
  return Lcom_google_gwt_dom_client_Style$Unit$1_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 56:1, 66:1, 68:1};
function Style$Unit$2_0(){
  this.name_0 = 'PCT';
  this.ordinal = 1;
}

function Style$Unit$2(){
}

_ = Style$Unit$2_0.prototype = Style$Unit$2.prototype = new Style$Unit;
_.getClass$ = function getClass_52(){
  return Lcom_google_gwt_dom_client_Style$Unit$2_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 56:1, 66:1, 68:1};
function Style$Unit$3_0(){
  this.name_0 = 'EM';
  this.ordinal = 2;
}

function Style$Unit$3(){
}

_ = Style$Unit$3_0.prototype = Style$Unit$3.prototype = new Style$Unit;
_.getClass$ = function getClass_53(){
  return Lcom_google_gwt_dom_client_Style$Unit$3_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 56:1, 66:1, 68:1};
function Style$Unit$4_0(){
  this.name_0 = 'EX';
  this.ordinal = 3;
}

function Style$Unit$4(){
}

_ = Style$Unit$4_0.prototype = Style$Unit$4.prototype = new Style$Unit;
_.getClass$ = function getClass_54(){
  return Lcom_google_gwt_dom_client_Style$Unit$4_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 56:1, 66:1, 68:1};
function Style$Unit$5_0(){
  this.name_0 = 'PT';
  this.ordinal = 4;
}

function Style$Unit$5(){
}

_ = Style$Unit$5_0.prototype = Style$Unit$5.prototype = new Style$Unit;
_.getClass$ = function getClass_55(){
  return Lcom_google_gwt_dom_client_Style$Unit$5_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 56:1, 66:1, 68:1};
function Style$Unit$6_0(){
  this.name_0 = 'PC';
  this.ordinal = 5;
}

function Style$Unit$6(){
}

_ = Style$Unit$6_0.prototype = Style$Unit$6.prototype = new Style$Unit;
_.getClass$ = function getClass_56(){
  return Lcom_google_gwt_dom_client_Style$Unit$6_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 56:1, 66:1, 68:1};
function Style$Unit$7_0(){
  this.name_0 = 'IN';
  this.ordinal = 6;
}

function Style$Unit$7(){
}

_ = Style$Unit$7_0.prototype = Style$Unit$7.prototype = new Style$Unit;
_.getClass$ = function getClass_57(){
  return Lcom_google_gwt_dom_client_Style$Unit$7_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 56:1, 66:1, 68:1};
function Style$Unit$8_0(){
  this.name_0 = 'CM';
  this.ordinal = 7;
}

function Style$Unit$8(){
}

_ = Style$Unit$8_0.prototype = Style$Unit$8.prototype = new Style$Unit;
_.getClass$ = function getClass_58(){
  return Lcom_google_gwt_dom_client_Style$Unit$8_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 56:1, 66:1, 68:1};
function Style$Unit$9_0(){
  this.name_0 = 'MM';
  this.ordinal = 8;
}

function Style$Unit$9(){
}

_ = Style$Unit$9_0.prototype = Style$Unit$9.prototype = new Style$Unit;
_.getClass$ = function getClass_59(){
  return Lcom_google_gwt_dom_client_Style$Unit$9_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 56:1, 66:1, 68:1};
function $clinit_91(){
  $clinit_91 = nullMethod;
  toInject = [];
  toInjectAtEnd = [];
  toInjectAtStart = [];
  flusher = new StyleInjector$1_0;
}

function flush(){
  $clinit_91();
  var css, maybeReturn, toReturn;
  toReturn = null;
  if (toInjectAtStart.length != 0) {
    css = toInjectAtStart.join('');
    maybeReturn = $injectStyleSheetAtStart(($clinit_93() , IMPL), css);
    !toInjectAtStart && (toReturn = maybeReturn);
    toInjectAtStart.length = 0;
  }
  if (toInject.length != 0) {
    css = toInject.join('');
    maybeReturn = $injectStyleSheet(($clinit_93() , IMPL), css);
    !toInject && (toReturn = maybeReturn);
    toInject.length = 0;
  }
  if (toInjectAtEnd.length != 0) {
    css = toInjectAtEnd.join('');
    maybeReturn = $injectStyleSheet(($clinit_93() , IMPL), css);
    !toInjectAtEnd && (toReturn = maybeReturn);
    toInjectAtEnd.length = 0;
  }
  needsInjection = false;
  return toReturn;
}

function schedule(){
  if (!needsInjection) {
    needsInjection = true;
    $scheduleFinally(($clinit_52() , INSTANCE), flusher);
  }
}

var flusher, needsInjection = false, toInject, toInjectAtEnd, toInjectAtStart;
function StyleInjector$1_0(){
}

function StyleInjector$1(){
}

_ = StyleInjector$1_0.prototype = StyleInjector$1.prototype = new Object_0;
_.execute_0 = function execute_1(){
  ($clinit_91() , needsInjection) && flush();
}
;
--></script>
<script><!--
_.getClass$ = function getClass_60(){
  return Lcom_google_gwt_dom_client_StyleInjector$1_2_classLit;
}
;
_.castableTypeMap$ = {19:1};
function $clinit_93(){
  $clinit_93 = nullMethod;
  IMPL = new StyleInjector$StyleInjectorImpl_0;
}

function $createElement_0(contents){
  var style;
  style = $doc.createElement('style');
  style['language'] = 'text/css';
  style.textContent = contents || '';
  return style;
}

function $getHead(this$static){
  var elt;
  if (!this$static.head) {
    elt = $doc.getElementsByTagName('head')[0];
    this$static.head = elt;
  }
  return this$static.head;
}

function $injectStyleSheet(this$static, contents){
  var style;
  style = $createElement_0(contents);
  $getHead(this$static).appendChild(style);
  return style;
}

function $injectStyleSheetAtStart(this$static, contents){
  var style;
  style = $createElement_0(contents);
  $getHead(this$static).insertBefore(style, this$static.head.firstChild);
  return style;
}

function StyleInjector$StyleInjectorImpl_0(){
}

function StyleInjector$StyleInjectorImpl(){
}

_ = StyleInjector$StyleInjectorImpl_0.prototype = StyleInjector$StyleInjectorImpl.prototype = new Object_0;
_.getClass$ = function getClass_61(){
  return Lcom_google_gwt_dom_client_StyleInjector$StyleInjectorImpl_2_classLit;
}
;
_.castableTypeMap$ = {};
_.head = null;
var IMPL;
function GwtEvent(){
}

_ = GwtEvent.prototype = new Object_0;
_.getClass$ = function getClass_62(){
  return Lcom_google_gwt_event_shared_GwtEvent_2_classLit;
}
;
_.revive = function revive(){
  this.dead = false;
  this.source = null;
}
;
_.toString$ = function toString_4(){
  return 'An event type';
}
;
_.castableTypeMap$ = {};
_.dead = false;
_.source = null;
function fireNativeEvent(nativeEvent, handlerSource, relativeElem){
  var currentNative, currentRelativeElem, typeKey;
  if (registered) {
    typeKey = dynamicCast(registered.map[nativeEvent.type], 10);
    if (typeKey) {
      currentNative = typeKey.flyweight.nativeEvent;
      currentRelativeElem = typeKey.flyweight.relativeElem;
      typeKey.flyweight.nativeEvent = nativeEvent;
      typeKey.flyweight.relativeElem = relativeElem;
      $fireEvent_1(handlerSource, typeKey.flyweight);
      typeKey.flyweight.nativeEvent = currentNative;
      typeKey.flyweight.relativeElem = currentRelativeElem;
    }
  }
}

function DomEvent(){
}

_ = DomEvent.prototype = new GwtEvent;
_.getAssociatedType = function getAssociatedType(){
  return this.getAssociatedType_0();
}
;
_.getClass$ = function getClass_63(){
  return Lcom_google_gwt_event_dom_client_DomEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
_.nativeEvent = null;
_.relativeElem = null;
var registered = null;
function $clinit_101(){
  $clinit_101 = nullMethod;
  TYPE = new DomEvent$Type_0('blur', new BlurEvent_0);
}

function $dispatch(handler){
  handler.this$0.popup.showing || $updateDateFromTextBox(handler.this$0);
}

function BlurEvent_0(){
}

function BlurEvent(){
}

_ = BlurEvent_0.prototype = BlurEvent.prototype = new DomEvent;
_.dispatch = function dispatch(handler){
  $dispatch(dynamicCast(handler, 8));
}
;
_.getAssociatedType_0 = function getAssociatedType_0(){
  return TYPE;
}
;
_.getClass$ = function getClass_64(){
  return Lcom_google_gwt_event_dom_client_BlurEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
var TYPE;
function HumanInputEvent(){
}

_ = HumanInputEvent.prototype = new DomEvent;
_.getClass$ = function getClass_65(){
  return Lcom_google_gwt_event_dom_client_HumanInputEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
function MouseEvent_0(){
}

_ = MouseEvent_0.prototype = new HumanInputEvent;
_.getClass$ = function getClass_66(){
  return Lcom_google_gwt_event_dom_client_MouseEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
function $clinit_105(){
  $clinit_105 = nullMethod;
  TYPE_0 = new DomEvent$Type_0('click', new ClickEvent_0);
}

function ClickEvent_0(){
}

function ClickEvent(){
}

_ = ClickEvent_0.prototype = ClickEvent.prototype = new MouseEvent_0;
_.dispatch = function dispatch_0(handler){
  dynamicCast(handler, 9).onClick(this);
}
;
_.getAssociatedType_0 = function getAssociatedType_1(){
  return TYPE_0;
}
;
_.getClass$ = function getClass_67(){
  return Lcom_google_gwt_event_dom_client_ClickEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
var TYPE_0;
function GwtEvent$Type_0(){
  this.index_0 = ++nextHashCode;
}

function GwtEvent$Type(){
}

_ = GwtEvent$Type_0.prototype = GwtEvent$Type.prototype = new Object_0;
_.getClass$ = function getClass_68(){
  return Lcom_google_gwt_event_shared_GwtEvent$Type_2_classLit;
}
;
_.hashCode$ = function hashCode_4(){
  return this.index_0;
}
;
_.toString$ = function toString_5(){
  return 'Event type';
}
;
_.castableTypeMap$ = {};
_.index_0 = 0;
var nextHashCode = 0;
function DomEvent$Type_0(eventName, flyweight){
  this.index_0 = ++nextHashCode;
  this.flyweight = flyweight;
  !registered && (registered = new PrivateMap_0);
  registered.map[eventName] = this;
  this.name_0 = eventName;
}

function DomEvent$Type(){
}

_ = DomEvent$Type_0.prototype = DomEvent$Type.prototype = new GwtEvent$Type;
_.getClass$ = function getClass_69(){
  return Lcom_google_gwt_event_dom_client_DomEvent$Type_2_classLit;
}
;
_.castableTypeMap$ = {10:1};
_.flyweight = null;
_.name_0 = null;
function $clinit_109(){
  $clinit_109 = nullMethod;
  TYPE_1 = new DomEvent$Type_0('focus', new FocusEvent_0);
}

function $dispatch_1(handler){
  handler.this$0.allowDPShow && !handler.this$0.popup.showing && $showDatePicker(handler.this$0);
}

function FocusEvent_0(){
}

function FocusEvent(){
}

_ = FocusEvent_0.prototype = FocusEvent.prototype = new DomEvent;
_.dispatch = function dispatch_1(handler){
  $dispatch_1(dynamicCast(handler, 11));
}
;
_.getAssociatedType_0 = function getAssociatedType_2(){
  return TYPE_1;
}
;
_.getClass$ = function getClass_70(){
  return Lcom_google_gwt_event_dom_client_FocusEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
var TYPE_1;
function KeyEvent_0(){
}

_ = KeyEvent_0.prototype = new DomEvent;
_.getClass$ = function getClass_71(){
  return Lcom_google_gwt_event_dom_client_KeyEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
function KeyCodeEvent(){
}

_ = KeyCodeEvent.prototype = new KeyEvent_0;
_.getClass$ = function getClass_72(){
  return Lcom_google_gwt_event_dom_client_KeyCodeEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
function $clinit_140(){
  $clinit_140 = nullMethod;
  TYPE_2 = new DomEvent$Type_0('keydown', new KeyDownEvent_0);
}

function KeyDownEvent_0(){
}

function KeyDownEvent(){
}

_ = KeyDownEvent_0.prototype = KeyDownEvent.prototype = new KeyCodeEvent;
_.dispatch = function dispatch_2(handler){
  $onKeyDown(dynamicCast(handler, 12), this);
}
;
_.getAssociatedType_0 = function getAssociatedType_3(){
  return TYPE_2;
}
;
_.getClass$ = function getClass_73(){
  return Lcom_google_gwt_event_dom_client_KeyDownEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
var TYPE_2;
function PrivateMap_0(){
  this.map = {};
}

function PrivateMap(){
}

_ = PrivateMap_0.prototype = PrivateMap.prototype = new Object_0;
_.getClass$ = function getClass_74(){
  return Lcom_google_gwt_event_dom_client_PrivateMap_2_classLit;
}
;
_.castableTypeMap$ = {};
_.map = null;
function CloseEvent_0(){
}

function fire(source){
  var event_0;
  if (TYPE_3) {
    event_0 = new CloseEvent_0;
    source.fireEvent(event_0);
  }
}

function CloseEvent(){
}

_ = CloseEvent_0.prototype = CloseEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_3(handler){
  dynamicCast(handler, 13).onClose(this);
}
;
_.getAssociatedType = function getAssociatedType_4(){
  return TYPE_3;
}
;
_.getClass$ = function getClass_75(){
  return Lcom_google_gwt_event_logical_shared_CloseEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
var TYPE_3 = null;
function HighlightEvent(){
}

_ = HighlightEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_4(handler){
  throwClassCastExceptionUnlessNull(handler);
  null.nullMethod();
}
;
_.getAssociatedType = function getAssociatedType_5(){
  return TYPE_4;
}
;
_.getClass$ = function getClass_76(){
  return Lcom_google_gwt_event_logical_shared_HighlightEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
var TYPE_4 = null;
function $dispatch_4(){
  $onResize();
}

function ResizeEvent_0(){
}

function fire_0(source){
  var event_0;
  if (TYPE_5) {
    event_0 = new ResizeEvent_0;
    $fireEvent(source, event_0);
  }
}

function ResizeEvent(){
}

_ = ResizeEvent_0.prototype = ResizeEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_5(handler){
  $dispatch_4(dynamicCast(handler, 14));
}
;
_.getAssociatedType = function getAssociatedType_6(){
  return TYPE_5;
}
;
_.getClass$ = function getClass_77(){
  return Lcom_google_gwt_event_logical_shared_ResizeEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
var TYPE_5 = null;
function fire_1(){
}

function ValueChangeEvent_0(value){
  this.value = value;
}

function fire_2(source, value){
  var event_0;
  if (TYPE_6) {
    event_0 = new ValueChangeEvent_0(value);
    $fireEvent(source.handlers, event_0);
  }
}

function ValueChangeEvent(){
}

_ = ValueChangeEvent_0.prototype = ValueChangeEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_6(handler){
  dynamicCast(handler, 15).onValueChange(this);
}
;
_.getAssociatedType = function getAssociatedType_7(){
  return TYPE_6;
}
;
_.getClass$ = function getClass_78(){
  return Lcom_google_gwt_event_logical_shared_ValueChangeEvent_2_classLit;
}
;
_.getValue_0 = function getValue_3(){
  return this.value;
}
;
_.castableTypeMap$ = {};
_.value = null;
var TYPE_6 = null;
function EventBus(){
}

_ = EventBus.prototype = new Object_0;
_.getClass$ = function getClass_79(){
  return Lcom_google_gwt_event_shared_EventBus_2_classLit;
}
;
_.castableTypeMap$ = {58:1};
function $fireEvent(this$static, event_0){
  var oldSource;
  !event_0.dead || event_0.revive();
  oldSource = event_0.source;
  event_0.source = this$static.source;
  try {
    $fireEvent_0(this$static.eventBus, event_0);
  }
   finally {
    oldSource == null?(event_0.dead = true , event_0.source = null):(event_0.source = oldSource);
  }
}

function HandlerManager_0(source){
  this.eventBus = new SimpleEventBus_0(false);
  this.source = source;
}

function HandlerManager_1(source, fireInReverseOrder){
  this.eventBus = new SimpleEventBus_0(fireInReverseOrder);
  this.source = source;
}

function HandlerManager(){
}

_ = HandlerManager_1.prototype = HandlerManager_0.prototype = HandlerManager.prototype = new Object_0;
_.fireEvent = function fireEvent(event_0){
  $fireEvent(this, event_0);
}
;
_.getClass$ = function getClass_80(){
  return Lcom_google_gwt_event_shared_HandlerManager_2_classLit;
}
;
_.castableTypeMap$ = {58:1};
_.eventBus = null;
_.source = null;
function $addHandler_0(this$static, type, handler){
  var l_0;
  if (!type) {
    throw new NullPointerException_1('Cannot add a handler with a null type');
  }
  if (!handler) {
    throw new NullPointerException_1('Cannot add a null handler');
  }
  return this$static.firingDepth > 0?$defer(this$static, new SimpleEventBus$2_0(this$static, type, handler)):(l_0 = $ensureHandlerList(this$static, type, null) , l_0.add(handler) , undefined) , new SimpleEventBus$1_0(this$static, type, handler);
}

function $defer(this$static, command){
  !this$static.deferredDeltas && (this$static.deferredDeltas = new ArrayList_0);
  $add_4(this$static.deferredDeltas, command);
}

function $doAddNow(this$static, type, source, handler){
  var l_0;
  l_0 = $ensureHandlerList(this$static, type, source);
  l_0.add(handler);
}

function $doFire(this$static, event_0){
  var $e0, causes, e, handler, handlers, it, old;
  try {
    ++this$static.firingDepth;
    handlers = $getHandlerList(this$static, event_0.getAssociatedType(), null);
    causes = null;
    it = this$static.isReverseOrder?handlers.listIterator_0(handlers.size_0()):handlers.listIterator();
    while (this$static.isReverseOrder?it.hasPrevious():it.hasNext()) {
      handler = this$static.isReverseOrder?dynamicCast(it.previous(), 16):dynamicCast(it.next_0(), 16);
      try {
        event_0.dispatch(handler);
      }
       catch ($e0) {
        $e0 = caught_0($e0);
        if (instanceOf($e0, 17)) {
          e = $e0;
          !causes && (causes = new HashSet_0);
          old = $put_0(causes.map, e, causes);
        }
         else 
          throw $e0;
      }
    }
    if (causes) {
      throw new UmbrellaException_0(causes);
    }
  }
   finally {
    --this$static.firingDepth;
    this$static.firingDepth == 0 && $handleQueuedAddsAndRemoves(this$static);
  }
}

function $doRemove(this$static, type, source, handler){
  var l_0, removed;
  this$static.firingDepth > 0?$defer(this$static, new SimpleEventBus$3_0(this$static, type, source, handler)):(l_0 = $getHandlerList(this$static, type, source) , removed = l_0.remove_1(handler) , removed && l_0.isEmpty() && $prune(this$static, type, source) , undefined);
}

function $doRemoveNow(this$static, type, source, handler){
  var l_0, removed;
  l_0 = $getHandlerList(this$static, type, source);
  removed = l_0.remove_1(handler);
  removed && l_0.isEmpty() && $prune(this$static, type, source);
}

function $ensureHandlerList(this$static, type, source){
  var handlers, sourceMap;
  sourceMap = dynamicCast($get_3(this$static.map, type), 18);
  if (!sourceMap) {
    sourceMap = new HashMap_0;
    $put_0(this$static.map, type, sourceMap);
  }
  handlers = dynamicCast(sourceMap.get(source), 3);
  if (!handlers) {
    handlers = new ArrayList_0;
    sourceMap.put(source, handlers);
  }
  return handlers;
}

function $fireEvent_0(this$static, event_0){
  if (!event_0) {
    throw new NullPointerException_1('Cannot fire null event');
  }
  $doFire(this$static, event_0);
}

function $getHandlerList(this$static, type, source){
  var handlers, sourceMap;
  sourceMap = dynamicCast($get_3(this$static.map, type), 18);
  if (!sourceMap) {
    return $clinit_527() , $clinit_527() , EMPTY_LIST;
  }
  handlers = dynamicCast(sourceMap.get(source), 3);
  if (!handlers) {
    return $clinit_527() , $clinit_527() , EMPTY_LIST;
  }
  return handlers;
}

function $handleQueuedAddsAndRemoves(this$static){
  var c, c$iterator;
  if (this$static.deferredDeltas) {
    try {
      for (c$iterator = new AbstractList$IteratorImpl_0(this$static.deferredDeltas); c$iterator.i < c$iterator.this$0_0.size_0();) {
        c = dynamicCast($next_4(c$iterator), 19);
        c.execute_0();
      }
    }
     finally {
      this$static.deferredDeltas = null;
    }
  }
}

function $prune(this$static, type, source){
  var sourceMap;
  sourceMap = dynamicCast($get_3(this$static.map, type), 18);
  dynamicCast(sourceMap.remove_2(source), 3);
  sourceMap.isEmpty() && $remove_6(this$static.map, type);
}

function SimpleEventBus_0(fireInReverseOrder){
  this.map = new HashMap_0;
  this.isReverseOrder = fireInReverseOrder;
}

function SimpleEventBus(){
}

_ = SimpleEventBus_0.prototype = SimpleEventBus.prototype = new EventBus;
_.fireEvent = function fireEvent_0(event_0){
  $fireEvent_0(this, event_0);
}
;
_.getClass$ = function getClass_81(){
  return Lcom_google_gwt_event_shared_SimpleEventBus_2_classLit;
}
;
_.castableTypeMap$ = {58:1};
_.deferredDeltas = null;
_.firingDepth = 0;
_.isReverseOrder = false;
function $removeHandler(this$static){
  $doRemove(this$static.this$0, this$static.val$type, this$static.val$source, this$static.val$handler);
}

function SimpleEventBus$1_0(this$0, val$type, val$handler){
  this.this$0 = this$0;
  this.val$type = val$type;
  this.val$source = null;
  this.val$handler = val$handler;
}

function SimpleEventBus$1(){
}

_ = SimpleEventBus$1_0.prototype = SimpleEventBus$1.prototype = new Object_0;
_.getClass$ = function getClass_82(){
  return Lcom_google_gwt_event_shared_SimpleEventBus$1_2_classLit;
}
;
_.castableTypeMap$ = {};
_.this$0 = null;
_.val$handler = null;
_.val$source = null;
_.val$type = null;
function SimpleEventBus$2_0(this$0, val$type, val$handler){
  this.this$0 = this$0;
  this.val$type = val$type;
  this.val$source = null;
  this.val$handler = val$handler;
}

function SimpleEventBus$2(){
}

_ = SimpleEventBus$2_0.prototype = SimpleEventBus$2.prototype = new Object_0;
_.execute_0 = function execute_2(){
  $doAddNow(this.this$0, this.val$type, this.val$source, this.val$handler);
}
;
_.getClass$ = function getClass_83(){
  return Lcom_google_gwt_event_shared_SimpleEventBus$2_2_classLit;
}
;
_.castableTypeMap$ = {19:1};
_.this$0 = null;
_.val$handler = null;
_.val$source = null;
_.val$type = null;
function SimpleEventBus$3_0(this$0, val$type, val$source, val$handler){
  this.this$0 = this$0;
  this.val$type = val$type;
  this.val$source = val$source;
  this.val$handler = val$handler;
}

function SimpleEventBus$3(){
}

_ = SimpleEventBus$3_0.prototype = SimpleEventBus$3.prototype = new Object_0;
_.execute_0 = function execute_3(){
  $doRemoveNow(this.this$0, this.val$type, this.val$source, this.val$handler);
}
;
_.getClass$ = function getClass_84(){
  return Lcom_google_gwt_event_shared_SimpleEventBus$3_2_classLit;
}
;
_.castableTypeMap$ = {19:1};
_.this$0 = null;
_.val$handler = null;
_.val$source = null;
_.val$type = null;
function UmbrellaException_0(causes){
  RuntimeException_2.call(this, 'One or more exceptions caught, see full set in UmbrellaException#getCauses', causes.map.size == 0?null:dynamicCast(causes.toArray_0(initDim(_3Ljava_lang_Throwable_2_classLit, {20:1, 36:1, 66:1}, 17, 0, 0)), 20)[0]);
}

function UmbrellaException(){
}

_ = UmbrellaException_0.prototype = UmbrellaException.prototype = new RuntimeException;
_.getClass$ = function getClass_85(){
  return Lcom_google_gwt_event_shared_UmbrellaException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
function $cancel_0(this$static){
  var xmlHttp;
  if (this$static.xmlHttpRequest) {
    xmlHttp = this$static.xmlHttpRequest;
    this$static.xmlHttpRequest = null;
    $clearOnReadyStateChange(xmlHttp);
    xmlHttp.abort();
    !!this$static.timer && $cancel_1(this$static.timer);
  }
}

function $fireOnResponseReceived(this$static, callback){
  var errorMsg, exception, response, xhr;
  if (!this$static.xmlHttpRequest) {
    return;
  }
  !!this$static.timer && $cancel_1(this$static.timer);
  xhr = this$static.xmlHttpRequest;
  this$static.xmlHttpRequest = null;
  errorMsg = $getBrowserSpecificFailure(xhr);
  if (errorMsg != null) {
    exception = new RuntimeException_1(errorMsg);
    callback.callback.onFailure(exception);
  }
   else {
    response = new Request$1_0(xhr);
    $onResponseReceived(callback, response);
  }
}

function $fireOnTimeout(this$static, callback){
  if (!this$static.xmlHttpRequest) {
    return;
  }
  $cancel_0(this$static);
  callback.callback.onFailure(new RequestTimeoutException_0(this$static.timeoutMillis));
}

function $getBrowserSpecificFailure(xhr){
  try {
    if (xhr.status === undefined) {
      return 'XmlHttpRequest.status == undefined, please see Safari bug http://bugs.webkit.org/show_bug.cgi?id=3810 for more details';
    }
    return null;
  }
   catch (e) {
    return 'Unable to read XmlHttpRequest.status; likely causes are a networking error or bad cross-domain request. Please see https://bugzilla.mozilla.org/show_bug.cgi?id=238559 for more details';
  }
}

function Request_0(xmlHttpRequest, timeoutMillis, callback){
  if (!xmlHttpRequest) {
    throw new NullPointerException_0;
  }
  if (!callback) {
    throw new NullPointerException_0;
  }
  if (timeoutMillis < 0) {
    throw new IllegalArgumentException_0;
  }
  this.timeoutMillis = timeoutMillis;
  this.xmlHttpRequest = xmlHttpRequest;
  if (timeoutMillis > 0) {
    this.timer = new Request$3_0(this, callback);
    $schedule(this.timer, timeoutMillis);
  }
   else {
    this.timer = null;
  }
}

function Request(){
}

_ = Request_0.prototype = Request.prototype = new Object_0;
_.getClass$ = function getClass_86(){
  return Lcom_google_gwt_http_client_Request_2_classLit;
}
;
_.castableTypeMap$ = {};
_.timeoutMillis = 0;
_.timer = null;
_.xmlHttpRequest = null;
function Response(){
}

_ = Response.prototype = new Object_0;
_.getClass$ = function getClass_87(){
  return Lcom_google_gwt_http_client_Response_2_classLit;
}
;
_.castableTypeMap$ = {};
function Request$1_0(val$xmlHttpRequest){
  this.val$xmlHttpRequest = val$xmlHttpRequest;
}

function Request$1(){
}

_ = Request$1_0.prototype = Request$1.prototype = new Response;
_.getClass$ = function getClass_88(){
  return Lcom_google_gwt_http_client_Request$1_2_classLit;
}
;
_.castableTypeMap$ = {};
_.val$xmlHttpRequest = null;
function $clinit_172(){
  $clinit_172 = nullMethod;
  timers = new ArrayList_0;
  addCloseHandler(new Timer$1_0);
}

function $cancel_1(this$static){
  this$static.isRepeating?($wnd.clearInterval(this$static.timerId) , undefined):($wnd.clearTimeout(this$static.timerId) , undefined);
  $remove_9(timers, this$static);
}

function $schedule(this$static, delayMillis){
  if (delayMillis <= 0) {
    throw new IllegalArgumentException_1('must be positive');
  }
  this$static.isRepeating?($wnd.clearInterval(this$static.timerId) , undefined):($wnd.clearTimeout(this$static.timerId) , undefined);
  $remove_9(timers, this$static);
  this$static.isRepeating = false;
  this$static.timerId = createTimeout(this$static, delayMillis);
  $add_4(timers, this$static);
}

function createTimeout(timer, delay){
  return $wnd.setTimeout($entry(function(){
    timer.fire();
  }
  ), delay);
}

function Timer(){
}

_ = Timer.prototype = new Object_0;
_.fire = function fire_3(){
  this.isRepeating || $remove_9(timers, this);
  this.run();
}
;
_.getClass$ = function getClass_89(){
  return Lcom_google_gwt_user_client_Timer_2_classLit;
}
;
_.castableTypeMap$ = {33:1};
_.isRepeating = false;
_.timerId = 0;
var timers;
function Request$3_0(this$0, val$callback){
  $clinit_172();
  this.this$0 = this$0;
  this.val$callback = val$callback;
}

function Request$3(){
}

_ = Request$3_0.prototype = Request$3.prototype = new Timer;
_.getClass$ = function getClass_90(){
  return Lcom_google_gwt_http_client_Request$3_2_classLit;
}
;
_.run = function run(){
  $fireOnTimeout(this.this$0, this.val$callback);
}
;
_.castableTypeMap$ = {33:1};
_.this$0 = null;
_.val$callback = null;
function $clinit_174(){
  $clinit_174 = nullMethod;
  new RequestBuilder$Method_0('DELETE');
  new RequestBuilder$Method_0('GET');
  new RequestBuilder$Method_0('HEAD');
  POST = new RequestBuilder$Method_0('POST');
  new RequestBuilder$Method_0('PUT');
}

function $doSend(this$static, requestData, callback){
  var $e0, e, request, requestPermissionException, xmlHttpRequest;
  xmlHttpRequest = create_5();
  try {
    xmlHttpRequest.open(this$static.httpMethod, this$static.url, true);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 21)) {
      e = $e0;
      requestPermissionException = new RequestPermissionException_0(this$static.url);
      $initCause(requestPermissionException, new RequestException_0(e.getMessage()));
      throw requestPermissionException;
    }
     else 
      throw $e0;
  }
  $setHeaders(this$static, xmlHttpRequest);
  request = new Request_0(xmlHttpRequest, this$static.timeoutMillis, callback);
  $setOnReadyStateChange(xmlHttpRequest, new RequestBuilder$1_0(request, callback));
  try {
    xmlHttpRequest.send(requestData);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 21)) {
      e = $e0;
      throw new RequestException_0(e.getMessage());
    }
     else 
      throw $e0;
  }
  return request;
}

function $setHeader(this$static, header, value){
  throwIfEmptyOrNull('header', header);
  throwIfEmptyOrNull('value', value);
  !this$static.headers && (this$static.headers = new HashMap_0);
  $put_0(this$static.headers, header, value);
}

function $setHeaders(this$static, xmlHttpRequest){
  var $e0, e, header, header$iterator;
  if (!!this$static.headers && this$static.headers.size > 0) {
    for (header$iterator = new AbstractHashMap$EntrySetIterator_0((new AbstractHashMap$EntrySet_0(this$static.headers)).this$0); $hasNext_2(header$iterator.iter);) {
      header = header$iterator.last = dynamicCast($next_4(header$iterator.iter), 22);
      try {
        xmlHttpRequest.setRequestHeader(dynamicCast(header.getKey(), 1), dynamicCast(header.getValue_0(), 1));
      }
       catch ($e0) {
        $e0 = caught_0($e0);
        if (instanceOf($e0, 21)) {
          e = $e0;
          throw new RequestException_0(e.getMessage());
        }
         else 
          throw $e0;
      }
    }
  }
   else {
    xmlHttpRequest.setRequestHeader('Content-Type', 'text/plain; charset=utf-8');
  }
}

function RequestBuilder_0(httpMethod, url){
  $clinit_174();
  RequestBuilder_1.call(this, !httpMethod?null:httpMethod.name_0, url);
}

function RequestBuilder_1(httpMethod, url){
  throwIfEmptyOrNull('httpMethod', httpMethod);
  throwIfEmptyOrNull('url', url);
  this.httpMethod = httpMethod;
  this.url = url;
}

function RequestBuilder(){
}

_ = RequestBuilder_0.prototype = RequestBuilder.prototype = new Object_0;
_.getClass$ = function getClass_91(){
  return Lcom_google_gwt_http_client_RequestBuilder_2_classLit;
}
;
_.castableTypeMap$ = {};
_.callback = null;
_.headers = null;
_.httpMethod = null;
_.requestData = null;
_.timeoutMillis = 0;
_.url = null;
var POST;
function RequestBuilder$1_0(val$request, val$callback){
  this.val$request = val$request;
  this.val$callback = val$callback;
}

function RequestBuilder$1(){
}

_ = RequestBuilder$1_0.prototype = RequestBuilder$1.prototype = new Object_0;
_.getClass$ = function getClass_92(){
  return Lcom_google_gwt_http_client_RequestBuilder$1_2_classLit;
}
;
_.onReadyStateChange = function onReadyStateChange(xhr){
  if (xhr.readyState == 4) {
    $clearOnReadyStateChange(xhr);
    $fireOnResponseReceived(this.val$request, this.val$callback);
  }
}
;
_.castableTypeMap$ = {};
_.val$callback = null;
_.val$request = null;
function RequestBuilder$Method_0(name_0){
  this.name_0 = name_0;
}

function RequestBuilder$Method(){
}

_ = RequestBuilder$Method_0.prototype = RequestBuilder$Method.prototype = new Object_0;
_.getClass$ = function getClass_93(){
  return Lcom_google_gwt_http_client_RequestBuilder$Method_2_classLit;
}
;
_.toString$ = function toString_6(){
  return this.name_0;
}
;
_.castableTypeMap$ = {};
_.name_0 = null;
function RequestException_0(message){
  $fillInStackTrace();
  this.detailMessage = message;
}

function RequestException(){
}

_ = RequestException_0.prototype = RequestException.prototype = new Exception;
_.getClass$ = function getClass_94(){
  return Lcom_google_gwt_http_client_RequestException_2_classLit;
}
;
_.castableTypeMap$ = {17:1, 38:1, 66:1};
function RequestPermissionException_0(url){
  $fillInStackTrace();
  this.detailMessage = 'The URL ' + url + ' is invalid or violates the same-origin security restriction';
}

function RequestPermissionException(){
}

_ = RequestPermissionException_0.prototype = RequestPermissionException.prototype = new RequestException;
_.getClass$ = function getClass_95(){
  return Lcom_google_gwt_http_client_RequestPermissionException_2_classLit;
}
;
_.castableTypeMap$ = {17:1, 38:1, 66:1};
function RequestTimeoutException_0(timeoutMillis){
  $fillInStackTrace();
  this.detailMessage = 'A request timeout has expired after ' + timeoutMillis + ' ms';
}

function RequestTimeoutException(){
}

_ = RequestTimeoutException_0.prototype = RequestTimeoutException.prototype = new RequestException;
_.getClass$ = function getClass_96(){
  return Lcom_google_gwt_http_client_RequestTimeoutException_2_classLit;
}
;
_.castableTypeMap$ = {17:1, 38:1, 66:1};
function throwIfEmptyOrNull(name_0, value){
  throwIfNull(name_0, value);
  if (0 == $trim(value).length) {
    throw new IllegalArgumentException_1(name_0 + ' cannot be empty');
  }
}

function throwIfNull(name_0, value){
  if (null == value) {
    throw new NullPointerException_1(name_0 + ' cannot be null');
  }
}

function AutoDirectionHandler_0(){
}

function addTo(){
  var autoDirHandler;
  autoDirHandler = new AutoDirectionHandler_0;
  return autoDirHandler;
}

function AutoDirectionHandler(){
}

_ = AutoDirectionHandler_0.prototype = AutoDirectionHandler.prototype = new Object_0;
_.getClass$ = function getClass_97(){
  return Lcom_google_gwt_i18n_client_AutoDirectionHandler_2_classLit;
}
;
_.castableTypeMap$ = {16:1};
function getDirectionOnElement(elem){
  var dirPropertyValue;
  dirPropertyValue = elem['dir'] == null?null:String(elem['dir']);
  if ($equalsIgnoreCase('rtl', dirPropertyValue)) {
    return $clinit_192() , RTL;
  }
   else if ($equalsIgnoreCase('ltr', dirPropertyValue)) {
    return $clinit_192() , LTR;
  }
  return $clinit_192() , DEFAULT;
}

function setDirectionOnElement(elem, direction){
  switch (direction.ordinal) {
    case 0:
      {
        elem['dir'] = 'rtl';
        break;
      }

    case 1:
      {
        elem['dir'] = 'ltr';
        break;
      }

    case 2:
      {
        getDirectionOnElement(elem) != ($clinit_192() , DEFAULT) && (elem['dir'] = '' , undefined);
        break;
      }

  }
}

function $clinit_186(){
  $clinit_186 = nullMethod;
  cache = new HashMap_0;
}

function $addPart(this$static, buf, count){
  var oldLength;
  if (buf.impl.string.length > 0) {
    $add_4(this$static.patternParts, new DateTimeFormat$PatternPart_0(buf.impl.string, count));
    oldLength = buf.impl.string.length;
    0 < oldLength?($replace(buf.impl, 0, oldLength, '') , buf):0 > oldLength && $append_4(buf, initDim(_3C_classLit, {66:1}, -1, -oldLength, 1));
  }
}

function $format(this$static, date){
  var timeZone;
  timeZone = createTimeZone(date.jsdate.getTimezoneOffset());
  return $format_0(this$static, date, timeZone);
}

--></script>
<script><!--
function $format_0(this$static, date, timeZone){
  var ch, diff, i, j, keepDate, keepTime, n, toAppendTo, trailQuote;
  diff = (date.jsdate.getTimezoneOffset() - timeZone.standardOffset) * 60000;
  keepDate = new Date_4(add_0(date.getTime_0(), fromInt(diff)));
  keepTime = keepDate;
  if (keepDate.jsdate.getTimezoneOffset() != date.jsdate.getTimezoneOffset()) {
    diff > 0?(diff -= 86400000):(diff += 86400000);
    keepTime = new Date_4(add_0(date.getTime_0(), fromInt(diff)));
  }
  toAppendTo = new StringBuffer_1;
  n = this$static.pattern.length;
  for (i = 0; i < n;) {
    ch = this$static.pattern.charCodeAt(i);
    if (ch >= 97 && ch <= 122 || ch >= 65 && ch <= 90) {
      for (j = i + 1; j < n && this$static.pattern.charCodeAt(j) == ch; ++j) {
      }
      $subFormat(toAppendTo, ch, j - i, keepDate, keepTime, timeZone);
      i = j;
    }
     else if (ch == 39) {
      ++i;
      if (i < n && this$static.pattern.charCodeAt(i) == 39) {
        toAppendTo.impl.string += "'";
        ++i;
        continue;
      }
      trailQuote = false;
      while (!trailQuote) {
        j = i;
        while (j < n && this$static.pattern.charCodeAt(j) != 39) {
          ++j;
        }
        if (j >= n) {
          throw new IllegalArgumentException_1("Missing trailing '");
        }
        j + 1 < n && this$static.pattern.charCodeAt(j + 1) == 39?++j:(trailQuote = true);
        $append_5(toAppendTo, $substring_0(this$static.pattern, i, j));
        i = j + 1;
      }
    }
     else {
      toAppendTo.impl.string += String.fromCharCode(ch);
      ++i;
    }
  }
  return toAppendTo.impl.string;
}

function $formatFractionalSeconds(buf, count, date){
  var time, value;
  time = date.getTime_0();
  if (!gte_0(time, P0_longLit)) {
    value = 1000 - toInt((divMod(neg(time), P3e8_longLit, true) , remainder));
    value == 1000 && (value = 0);
  }
   else {
    value = toInt((divMod(time, P3e8_longLit, true) , remainder));
  }
  if (count == 1) {
    value = ~~((value + 50) / 100) < 9?~~((value + 50) / 100):9;
    buf.impl.string += String.fromCharCode(48 + value & 65535);
  }
   else if (count == 2) {
    value = ~~((value + 5) / 10) < 99?~~((value + 5) / 10):99;
    $zeroPaddingNumber(buf, value, 2);
  }
   else {
    $zeroPaddingNumber(buf, value, 3);
    count > 3 && $zeroPaddingNumber(buf, 0, count - 3);
  }
}

function $formatMonth(buf, count, date){
  var value;
  value = date.getMonth_0();
  switch (count) {
    case 5:
      $append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'])[value]);
      break;
    case 4:
      $append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'])[value]);
      break;
    case 3:
      $append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'])[value]);
      break;
    default:$zeroPaddingNumber(buf, value + 1, count);
  }
}

function $formatYear(buf, count, date){
  var value;
  value = date.getYear() + 1900;
  value < 0 && (value = -value);
  switch (count) {
    case 1:
      buf.impl.string += value;
      break;
    case 2:
      $zeroPaddingNumber(buf, value % 100, 2);
      break;
    default:$zeroPaddingNumber(buf, value, count);
  }
}

function $getNextCharCountInPattern(pattern, start){
  var ch, next;
  ch = pattern.charCodeAt(start);
  next = start + 1;
  while (next < pattern.length && pattern.charCodeAt(next) == ch) {
    ++next;
  }
  return next - start;
}

function $identifyAbutStart(this$static){
  var abut, i, len;
  abut = false;
  len = this$static.patternParts.size;
  for (i = 0; i < len; ++i) {
    if ($isNumeric(dynamicCast($get_4(this$static.patternParts, i), 24))) {
      if (!abut && i + 1 < len && $isNumeric(dynamicCast($get_4(this$static.patternParts, i + 1), 24))) {
        abut = true;
        dynamicCast($get_4(this$static.patternParts, i), 24).abutStart = true;
      }
    }
     else {
      abut = false;
    }
  }
}

function $isNumeric(part){
  var i;
  if (part.count <= 0) {
    return false;
  }
  i = 'MLydhHmsSDkK'.indexOf(fromCodePoint(part.text.charCodeAt(0)));
  return i > 1 || i >= 0 && part.count < 3;
}

function $matchString(text, start, data, pos){
  var bestMatch, bestMatchLength, count, i, length_0, textInLowerCase;
  count = data.length;
  bestMatchLength = 0;
  bestMatch = -1;
  textInLowerCase = text.substr(start, text.length - start).toLowerCase();
  for (i = 0; i < count; ++i) {
    length_0 = data[i].length;
    if (length_0 > bestMatchLength && textInLowerCase.indexOf(data[i].toLowerCase()) == 0) {
      bestMatch = i;
      bestMatchLength = length_0;
    }
  }
  bestMatch >= 0 && (pos[0] = start + bestMatchLength);
  return bestMatch;
}

function $parse(this$static, text){
  var charsConsumed, curDate, date;
  curDate = new Date_1;
  date = new Date_2(curDate.getYear(), curDate.getMonth_0(), curDate.getDate_0());
  charsConsumed = $parse_0(this$static, text, date);
  if (charsConsumed == 0 || charsConsumed < text.length) {
    throw new IllegalArgumentException_1(text);
  }
  return date;
}

function $parse_0(this$static, text, date){
  var abutPass, abutPat, cal, count, i, parsePos, part, s;
  cal = new DateRecord_0;
  parsePos = initValues(_3I_classLit, {66:1}, -1, [0]);
  abutPat = -1;
  abutPass = 0;
  for (i = 0; i < this$static.patternParts.size; ++i) {
    part = dynamicCast($get_4(this$static.patternParts, i), 24);
    if (part.count > 0) {
      if (abutPat < 0 && part.abutStart) {
        abutPat = i;
        abutPass = 0;
      }
      if (abutPat >= 0) {
        count = part.count;
        if (i == abutPat) {
          count -= abutPass++;
          if (count == 0) {
            return 0;
          }
        }
        if (!$subParse(text, parsePos, part, count, cal)) {
          i = abutPat - 1;
          parsePos[0] = 0;
          continue;
        }
      }
       else {
        abutPat = -1;
        if (!$subParse(text, parsePos, part, 0, cal)) {
          return 0;
        }
      }
    }
     else {
      abutPat = -1;
      if (part.text.charCodeAt(0) == 32) {
        s = parsePos[0];
        $skipSpace(text, parsePos);
        if (parsePos[0] > s) {
          continue;
        }
      }
       else if ($startsWith(text, part.text, parsePos[0])) {
        parsePos[0] += part.text.length;
        continue;
      }
      return 0;
    }
  }
  if (!$calcDate(cal, date)) {
    return 0;
  }
  return parsePos[0];
}

function $parseInt(text, pos){
  var ch, ind, ret;
  ret = 0;
  ind = pos[0];
  if (ind >= text.length) {
    return -1;
  }
  ch = text.charCodeAt(ind);
  while (ch >= 48 && ch <= 57) {
    ret = ret * 10 + (ch - 48);
    ++ind;
    if (ind >= text.length) {
      break;
    }
    ch = text.charCodeAt(ind);
  }
  ind > pos[0]?(pos[0] = ind):(ret = -1);
  return ret;
}

function $parsePattern(this$static, pattern){
  var buf, ch, count, i, inQuote;
  buf = new StringBuffer_1;
  inQuote = false;
  for (i = 0; i < pattern.length; ++i) {
    ch = pattern.charCodeAt(i);
    if (ch == 32) {
      $addPart(this$static, buf, 0);
      buf.impl.string += ' ';
      $addPart(this$static, buf, 0);
      while (i + 1 < pattern.length && pattern.charCodeAt(i + 1) == 32) {
        ++i;
      }
      continue;
    }
    if (inQuote) {
      if (ch == 39) {
        if (i + 1 < pattern.length && pattern.charCodeAt(i + 1) == 39) {
          buf.impl.string += "'";
          ++i;
        }
         else {
          inQuote = false;
        }
      }
       else {
        buf.impl.string += String.fromCharCode(ch);
      }
      continue;
    }
    if ('GyMLdkHmsSEcDahKzZv'.indexOf(fromCodePoint(ch)) > 0) {
      $addPart(this$static, buf, 0);
      buf.impl.string += String.fromCharCode(ch);
      count = $getNextCharCountInPattern(pattern, i);
      $addPart(this$static, buf, count);
      i += count - 1;
      continue;
    }
    if (ch == 39) {
      if (i + 1 < pattern.length && pattern.charCodeAt(i + 1) == 39) {
        buf.impl.string += "'";
        ++i;
      }
       else {
        inQuote = true;
      }
    }
     else {
      buf.impl.string += String.fromCharCode(ch);
    }
  }
  $addPart(this$static, buf, 0);
  $identifyAbutStart(this$static);
}

function $parseTimeZoneOffset(text, pos, cal){
  var offset, sign, st, value;
  if (pos[0] >= text.length) {
    cal.tzOffset = 0;
    return true;
  }
  switch (text.charCodeAt(pos[0])) {
    case 43:
      sign = 1;
      break;
    case 45:
      sign = -1;
      break;
    default:cal.tzOffset = 0;
      return true;
  }
  ++pos[0];
  st = pos[0];
  value = $parseInt(text, pos);
  if (value == 0 && pos[0] == st) {
    return false;
  }
  if (pos[0] < text.length && text.charCodeAt(pos[0]) == 58) {
    offset = value * 60;
    ++pos[0];
    st = pos[0];
    value = $parseInt(text, pos);
    if (value == 0 && pos[0] == st) {
      return false;
    }
    offset += value;
  }
   else {
    offset = value;
    value < 24 && pos[0] - st <= 2?(offset *= 60):(offset = value % 100 + ~~(value / 100) * 60);
  }
  offset *= sign;
  cal.tzOffset = -offset;
  return true;
}

function $skipSpace(text, pos){
  while (pos[0] < text.length && ' \t\r\n'.indexOf(fromCodePoint(text.charCodeAt(pos[0]))) >= 0) {
    ++pos[0];
  }
}

function $subFormat(buf, ch, count, adjustedDate, adjustedTime, timezone){
  var value, value_0, value_1, value_2, value_3, value_4, value_5, value_6, value_7, value_8, value_9, value_10;
  switch (ch) {
    case 71:
      value = adjustedDate.getYear() >= -1900?1:0;
      count >= 4?$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Before Christ', 'Anno Domini'])[value]):$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['BC', 'AD'])[value]);
      break;
    case 121:
      $formatYear(buf, count, adjustedDate);
      break;
    case 77:
      $formatMonth(buf, count, adjustedDate);
      break;
    case 107:
      value_0 = adjustedTime.getHours_0();
      value_0 == 0?$zeroPaddingNumber(buf, 24, count):$zeroPaddingNumber(buf, value_0, count);
      break;
    case 83:
      $formatFractionalSeconds(buf, count, adjustedTime);
      break;
    case 69:
      value_1 = adjustedDate.getDay_0();
      count == 5?$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['S', 'M', 'T', 'W', 'T', 'F', 'S'])[value_1]):count == 4?$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'])[value_1]):$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'])[value_1]);
      break;
    case 97:
      adjustedTime.getHours_0() >= 12 && adjustedTime.getHours_0() < 24?$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['AM', 'PM'])[1]):$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['AM', 'PM'])[0]);
      break;
    case 104:
      value_2 = adjustedTime.getHours_0() % 12;
      value_2 == 0?$zeroPaddingNumber(buf, 12, count):$zeroPaddingNumber(buf, value_2, count);
      break;
    case 75:
      value_3 = adjustedTime.getHours_0() % 12;
      $zeroPaddingNumber(buf, value_3, count);
      break;
    case 72:
      value_4 = adjustedTime.getHours_0();
      $zeroPaddingNumber(buf, value_4, count);
      break;
    case 99:
      value_5 = adjustedDate.getDay_0();
      count == 5?$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['S', 'M', 'T', 'W', 'T', 'F', 'S'])[value_5]):count == 4?$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'])[value_5]):count == 3?$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'])[value_5]):$zeroPaddingNumber(buf, value_5, 1);
      break;
    case 76:
      value_6 = adjustedDate.getMonth_0();
      count == 5?$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'])[value_6]):count == 4?$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'])[value_6]):count == 3?$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'])[value_6]):$zeroPaddingNumber(buf, value_6 + 1, count);
      break;
    case 81:
      value_7 = ~~(adjustedDate.getMonth_0() / 3);
      count < 4?$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Q1', 'Q2', 'Q3', 'Q4'])[value_7]):$append_5(buf, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'])[value_7]);
      break;
    case 100:
      value_8 = adjustedDate.getDate_0();
      $zeroPaddingNumber(buf, value_8, count);
      break;
    case 109:
      value_9 = adjustedTime.getMinutes_0();
      $zeroPaddingNumber(buf, value_9, count);
      break;
    case 115:
      value_10 = adjustedTime.getSeconds_0();
      $zeroPaddingNumber(buf, value_10, count);
      break;
    case 122:
      count < 4?$append_5(buf, timezone.tzNames[0]):$append_5(buf, timezone.tzNames[1]);
      break;
    case 118:
      $append_5(buf, timezone.timezoneID);
      break;
    case 90:
      count < 3?$append_5(buf, $getRFCTimeZoneString(timezone)):count == 3?$append_5(buf, $getISOTimeZoneString(timezone)):$append_5(buf, composeGMTString(timezone.standardOffset));
      break;
    default:return false;
  }
  return true;
}

function $subParse(text, pos, part, digitCount, cal){
  var ch, start, value;
  $skipSpace(text, pos);
  start = pos[0];
  ch = part.text.charCodeAt(0);
  value = -1;
  if ($isNumeric(part)) {
    if (digitCount > 0) {
      if (start + digitCount > text.length) {
        return false;
      }
      value = $parseInt(text.substr(0, start + digitCount - 0), pos);
    }
     else {
      value = $parseInt(text, pos);
    }
  }
  switch (ch) {
    case 71:
      value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Before Christ', 'Anno Domini']), pos);
      cal.era = value;
      return true;
    case 77:
      return $subParseMonth(text, pos, cal, value, start);
    case 76:
      return $subParseStandaloneMonth(text, pos, cal, value, start);
    case 69:
      return $subParseDayOfWeek(text, pos, start, cal);
    case 99:
      return $subParseStandaloneDay(text, pos, start, cal);
    case 97:
      value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['AM', 'PM']), pos);
      cal.ampm = value;
      return true;
    case 121:
      return $subParseYear(text, pos, start, value, part, cal);
    case 100:
      if (value <= 0) {
        return false;
      }

      cal.dayOfMonth = value;
      return true;
    case 83:
      if (value < 0) {
        return false;
      }

      return $subParseFractionalSeconds(value, start, pos[0], cal);
    case 104:
      value == 12 && (value = 0);
    case 75:
    case 72:
      if (value < 0) {
        return false;
      }

      cal.hours = value;
      return true;
    case 107:
      if (value < 0) {
        return false;
      }

      cal.hours = value;
      return true;
    case 109:
      if (value < 0) {
        return false;
      }

      cal.minutes = value;
      return true;
    case 115:
      if (value < 0) {
        return false;
      }

      cal.seconds = value;
      return true;
    case 122:
    case 90:
    case 118:
      return $subParseTimeZoneInGMT(text, start, pos, cal);
    default:return false;
  }
}

function $subParseDayOfWeek(text, pos, start, cal){
  var value;
  value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']), pos);
  value < 0 && (value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']), pos));
  if (value < 0) {
    return false;
  }
  cal.dayOfWeek = value;
  return true;
}

function $subParseFractionalSeconds(value, start, end, cal){
  var a_0, i;
  i = end - start;
  if (i < 3) {
    while (i < 3) {
      value *= 10;
      ++i;
    }
  }
   else {
    a_0 = 1;
    while (i > 3) {
      a_0 *= 10;
      --i;
    }
    value = ~~((value + (a_0 >> 1)) / a_0);
  }
  cal.milliseconds = value;
  return true;
}

function $subParseMonth(text, pos, cal, value, start){
  if (value < 0) {
    value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']), pos);
    value < 0 && (value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']), pos));
    if (value < 0) {
      return false;
    }
    cal.month = value;
    return true;
  }
   else if (value > 0) {
    cal.month = value - 1;
    return true;
  }
  return false;
}

function $subParseStandaloneDay(text, pos, start, cal){
  var value;
  value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']), pos);
  value < 0 && (value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']), pos));
  if (value < 0) {
    return false;
  }
  cal.dayOfWeek = value;
  return true;
}

function $subParseStandaloneMonth(text, pos, cal, value, start){
  if (value < 0) {
    value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']), pos);
    value < 0 && (value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']), pos));
    if (value < 0) {
      return false;
    }
    cal.month = value;
    return true;
  }
   else if (value > 0) {
    cal.month = value - 1;
    return true;
  }
  return false;
}

function $subParseTimeZoneInGMT(text, start, pos, cal){
  if (!(start < 0 || start >= text.length) && text.indexOf('GMT', start) == start) {
    pos[0] = start + 3;
    return $parseTimeZoneOffset(text, pos, cal);
  }
  if (!(start < 0 || start >= text.length) && text.indexOf('UTC', start) == start) {
    pos[0] = start + 3;
    return $parseTimeZoneOffset(text, pos, cal);
  }
  return $parseTimeZoneOffset(text, pos, cal);
}

function $subParseYear(text, pos, start, value, part, cal){
  var ambiguousTwoDigitYear, ch, date, defaultCenturyStartYear;
  ch = 32;
  if (value < 0) {
    if (pos[0] >= text.length) {
      return false;
    }
    ch = text.charCodeAt(pos[0]);
    if (ch != 43 && ch != 45) {
      return false;
    }
    ++pos[0];
    value = $parseInt(text, pos);
    if (value < 0) {
      return false;
    }
    ch == 45 && (value = -value);
  }
  if (ch == 32 && pos[0] - start == 2 && part.count == 2) {
    date = new Date_1;
    defaultCenturyStartYear = date.getYear() + 1900 - 80;
    ambiguousTwoDigitYear = defaultCenturyStartYear % 100;
    cal.ambiguousYear = value == ambiguousTwoDigitYear;
    value += ~~(defaultCenturyStartYear / 100) * 100 + (value < ambiguousTwoDigitYear?100:0);
  }
  cal.year = value;
  return true;
}

function $zeroPaddingNumber(buf, value, minWidth){
  var b, i;
  b = 10;
  for (i = 0; i < minWidth - 1; ++i) {
    value < b && (buf.impl.string += '0' , buf);
    b *= 10;
  }
  buf.impl.string += value;
}

function DateTimeFormat_0(pattern){
  this.patternParts = new ArrayList_0;
  this.pattern = pattern;
  $parsePattern(this, pattern);
}

function getFormat(predef){
  $clinit_186();
  var dtfi, pattern;
  if (usesFixedEnglishStrings(predef)) {
    switch (predef.ordinal) {
      case 1:
        pattern = 'EEE, d MMM yyyy HH:mm:ss Z';
        break;
      case 0:
        pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZZZ";
        break;
      default:throw new IllegalStateException_1('Unexpected predef type ' + predef);
    }
    return getFormat_0(pattern, new DateTimeFormatInfoImpl_en_0);
  }
  dtfi = $getDateTimeFormatInfo(($clinit_193() , $clinit_193() , instance_0));
  switch (predef.ordinal) {
    case 2:
      pattern = dtfi.dateFormatFull();
      break;
    case 3:
      pattern = dtfi.dateFormatLong();
      break;
    case 4:
      pattern = dtfi.dateFormatMedium();
      break;
    case 5:
      pattern = dtfi.dateFormatShort();
      break;
    case 10:
      pattern = $dateTimeFull(dtfi.timeFormatFull(), dtfi.dateFormatFull());
      break;
    case 11:
      pattern = $dateTimeLong(dtfi.timeFormatLong(), dtfi.dateFormatLong());
      break;
    case 12:
      pattern = $dateTimeMedium(dtfi.timeFormatMedium(), dtfi.dateFormatMedium());
      break;
    case 13:
      pattern = $dateTimeShort(dtfi.timeFormatShort(), dtfi.dateFormatShort());
      break;
    case 14:
      pattern = 'd';
      break;
    case 17:
      pattern = 'HH:mm';
      break;
    case 18:
      pattern = 'HH:mm:ss';
      break;
    case 15:
      pattern = 'h:mm a';
      break;
    case 16:
      pattern = 'h:mm:ss a';
      break;
    case 19:
      pattern = 'mm:ss';
      break;
    case 20:
      pattern = 'LLLL';
      break;
    case 21:
      pattern = 'LLL';
      break;
    case 22:
      pattern = 'MMM d';
      break;
    case 23:
      pattern = 'MMMM d';
      break;
    case 24:
      pattern = dtfi.formatMonthNumDay();
      break;
    case 25:
      pattern = dtfi.formatMonthFullWeekdayDay();
      break;
    case 6:
      pattern = dtfi.timeFormatFull();
      break;
    case 7:
      pattern = dtfi.timeFormatLong();
      break;
    case 8:
      pattern = dtfi.timeFormatMedium();
      break;
    case 9:
      pattern = dtfi.timeFormatShort();
      break;
    case 26:
      pattern = 'y';
      break;
    case 27:
      pattern = dtfi.formatYearMonthFull();
      break;
    case 28:
      pattern = dtfi.formatYearMonthAbbrev();
      break;
    case 29:
      pattern = dtfi.formatYearMonthAbbrevDay();
      break;
    case 30:
      pattern = dtfi.formatYearMonthFullDay();
      break;
    case 31:
      pattern = dtfi.formatYearMonthNum();
      break;
    case 32:
      pattern = dtfi.formatYearMonthNumDay();
      break;
    case 33:
      pattern = dtfi.formatYearMonthWeekdayDay();
      break;
    case 34:
      pattern = dtfi.formatYearQuarterFull();
      break;
    case 35:
      pattern = dtfi.formatYearQuarterShort();
      break;
    default:throw new IllegalArgumentException_1('Unexpected predefined format ' + predef);
  }
  return getFormat_0(pattern, dtfi);
}

function getFormat_0(pattern, dtfi){
  $clinit_186();
  var defaultDtfi, dtf;
  defaultDtfi = $getDateTimeFormatInfo(($clinit_193() , $clinit_193() , instance_0));
  dtf = null;
  dtfi == defaultDtfi && (dtf = dynamicCast($get_3(cache, pattern), 23));
  if (!dtf) {
    dtf = new DateTimeFormat_0(pattern);
    dtfi == defaultDtfi && $put_0(cache, pattern, dtf);
  }
  return dtf;
}

function usesFixedEnglishStrings(predef){
  switch (predef.ordinal) {
    case 1:
      return true;
    case 0:
      return true;
    default:return false;
  }
}

function DateTimeFormat(){
}

_ = DateTimeFormat_0.prototype = DateTimeFormat.prototype = new Object_0;
_.getClass$ = function getClass_98(){
  return Lcom_google_gwt_i18n_client_DateTimeFormat_2_classLit;
}
;
_.castableTypeMap$ = {23:1};
_.pattern = null;
var cache = null;
function DateTimeFormat$PatternPart_0(txt, cnt){
  this.text = txt;
  this.count = cnt;
  this.abutStart = false;
}

function DateTimeFormat$PatternPart(){
}

_ = DateTimeFormat$PatternPart_0.prototype = DateTimeFormat$PatternPart.prototype = new Object_0;
_.getClass$ = function getClass_99(){
  return Lcom_google_gwt_i18n_client_DateTimeFormat$PatternPart_2_classLit;
}
;
_.castableTypeMap$ = {24:1};
_.abutStart = false;
_.count = 0;
_.text = null;
function $clinit_188(){
  $clinit_188 = nullMethod;
  ISO_8601 = new DateTimeFormat$PredefinedFormat_0('ISO_8601', 0);
  RFC_2822 = new DateTimeFormat$PredefinedFormat_0('RFC_2822', 1);
  DATE_FULL = new DateTimeFormat$PredefinedFormat_0('DATE_FULL', 2);
  DATE_LONG = new DateTimeFormat$PredefinedFormat_0('DATE_LONG', 3);
  DATE_MEDIUM = new DateTimeFormat$PredefinedFormat_0('DATE_MEDIUM', 4);
  DATE_SHORT = new DateTimeFormat$PredefinedFormat_0('DATE_SHORT', 5);
  TIME_FULL = new DateTimeFormat$PredefinedFormat_0('TIME_FULL', 6);
  TIME_LONG = new DateTimeFormat$PredefinedFormat_0('TIME_LONG', 7);
  TIME_MEDIUM = new DateTimeFormat$PredefinedFormat_0('TIME_MEDIUM', 8);
  TIME_SHORT = new DateTimeFormat$PredefinedFormat_0('TIME_SHORT', 9);
  DATE_TIME_FULL = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_FULL', 10);
  DATE_TIME_LONG = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_LONG', 11);
  DATE_TIME_MEDIUM = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_MEDIUM', 12);
  DATE_TIME_SHORT = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_SHORT', 13);
  DAY = new DateTimeFormat$PredefinedFormat_0('DAY', 14);
  HOUR_MINUTE = new DateTimeFormat$PredefinedFormat_0('HOUR_MINUTE', 15);
  HOUR_MINUTE_SECOND = new DateTimeFormat$PredefinedFormat_0('HOUR_MINUTE_SECOND', 16);
  HOUR24_MINUTE = new DateTimeFormat$PredefinedFormat_0('HOUR24_MINUTE', 17);
  HOUR24_MINUTE_SECOND = new DateTimeFormat$PredefinedFormat_0('HOUR24_MINUTE_SECOND', 18);
  MINUTE_SECOND = new DateTimeFormat$PredefinedFormat_0('MINUTE_SECOND', 19);
  MONTH = new DateTimeFormat$PredefinedFormat_0('MONTH', 20);
  MONTH_ABBR = new DateTimeFormat$PredefinedFormat_0('MONTH_ABBR', 21);
  MONTH_ABBR_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_ABBR_DAY', 22);
  MONTH_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_DAY', 23);
  MONTH_NUM_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_NUM_DAY', 24);
  MONTH_WEEKDAY_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_WEEKDAY_DAY', 25);
  YEAR = new DateTimeFormat$PredefinedFormat_0('YEAR', 26);
  YEAR_MONTH = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH', 27);
  YEAR_MONTH_ABBR = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_ABBR', 28);
  YEAR_MONTH_ABBR_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_ABBR_DAY', 29);
  YEAR_MONTH_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_DAY', 30);
  YEAR_MONTH_NUM = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_NUM', 31);
  YEAR_MONTH_NUM_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_NUM_DAY', 32);
  YEAR_MONTH_WEEKDAY_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_WEEKDAY_DAY', 33);
  YEAR_QUARTER = new DateTimeFormat$PredefinedFormat_0('YEAR_QUARTER', 34);
  YEAR_QUARTER_ABBR = new DateTimeFormat$PredefinedFormat_0('YEAR_QUARTER_ABBR', 35);
  $VALUES_2 = initValues(_3Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit, {36:1, 66:1}, 59, [ISO_8601, RFC_2822, DATE_FULL, DATE_LONG, DATE_MEDIUM, DATE_SHORT, TIME_FULL, TIME_LONG, TIME_MEDIUM, TIME_SHORT, DATE_TIME_FULL, DATE_TIME_LONG, DATE_TIME_MEDIUM, DATE_TIME_SHORT, DAY, HOUR_MINUTE, HOUR_MINUTE_SECOND, HOUR24_MINUTE, HOUR24_MINUTE_SECOND, MINUTE_SECOND, MONTH, MONTH_ABBR, MONTH_ABBR_DAY, MONTH_DAY, MONTH_NUM_DAY, MONTH_WEEKDAY_DAY, YEAR, YEAR_MONTH, YEAR_MONTH_ABBR, YEAR_MONTH_ABBR_DAY, YEAR_MONTH_DAY, YEAR_MONTH_NUM, YEAR_MONTH_NUM_DAY, YEAR_MONTH_WEEKDAY_DAY, YEAR_QUARTER, YEAR_QUARTER_ABBR]);
}

function DateTimeFormat$PredefinedFormat_0(enum$name, enum$ordinal){
  this.name_0 = enum$name;
  this.ordinal = enum$ordinal;
}

function values_3(){
  $clinit_188();
  return $VALUES_2;
}

function DateTimeFormat$PredefinedFormat(){
}

_ = DateTimeFormat$PredefinedFormat_0.prototype = DateTimeFormat$PredefinedFormat.prototype = new Enum;
_.getClass$ = function getClass_100(){
  return Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 59:1, 66:1, 68:1};
var $VALUES_2, DATE_FULL, DATE_LONG, DATE_MEDIUM, DATE_SHORT, DATE_TIME_FULL, DATE_TIME_LONG, DATE_TIME_MEDIUM, DATE_TIME_SHORT, DAY, HOUR24_MINUTE, HOUR24_MINUTE_SECOND, HOUR_MINUTE, HOUR_MINUTE_SECOND, ISO_8601, MINUTE_SECOND, MONTH, MONTH_ABBR, MONTH_ABBR_DAY, MONTH_DAY, MONTH_NUM_DAY, MONTH_WEEKDAY_DAY, RFC_2822, TIME_FULL, TIME_LONG, TIME_MEDIUM, TIME_SHORT, YEAR, YEAR_MONTH, YEAR_MONTH_ABBR, YEAR_MONTH_ABBR_DAY, YEAR_MONTH_DAY, YEAR_MONTH_NUM, YEAR_MONTH_NUM_DAY, YEAR_MONTH_WEEKDAY_DAY, YEAR_QUARTER, YEAR_QUARTER_ABBR;
function $dateTimeFull(timePattern, datePattern){
  return $append_5($append_5($append_5(new StringBuffer_0, datePattern), ' '), timePattern).impl.string;
}

function $dateTimeLong(timePattern, datePattern){
  return $append_5($append_5($append_5(new StringBuffer_0, datePattern), ' '), timePattern).impl.string;
}

function $dateTimeMedium(timePattern, datePattern){
  return $append_5($append_5($append_5(new StringBuffer_0, datePattern), ' '), timePattern).impl.string;
}

function $dateTimeShort(timePattern, datePattern){
  return $append_5($append_5($append_5(new StringBuffer_0, datePattern), ' '), timePattern).impl.string;
}

function DefaultDateTimeFormatInfo(){
}

_ = DefaultDateTimeFormatInfo.prototype = new Object_0;
_.dateFormatFull = function dateFormatFull(){
  return 'EEEE, y MMMM dd';
}
;
--></script>
<script><!--
_.dateFormatLong = function dateFormatLong(){
  return 'y MMMM d';
}
;
_.dateFormatMedium = function dateFormatMedium(){
  return 'y MMM d';
}
;
_.dateFormatShort = function dateFormatShort(){
  return 'yyyy-MM-dd';
}
;
_.firstDayOfTheWeek = function firstDayOfTheWeek(){
  return 1;
}
;
_.formatMonthFullWeekdayDay = function formatMonthFullWeekdayDay(){
  return 'EEEE MMMM d';
}
;
_.formatMonthNumDay = function formatMonthNumDay(){
  return 'M-d';
}
;
_.formatYearMonthAbbrev = function formatYearMonthAbbrev(){
  return 'y MMM';
}
;
_.formatYearMonthAbbrevDay = function formatYearMonthAbbrevDay(){
  return 'y MMM d';
}
;
_.formatYearMonthFull = function formatYearMonthFull(){
  return 'y MMMM';
}
;
_.formatYearMonthFullDay = function formatYearMonthFullDay(){
  return 'y MMMM d';
}
;
_.formatYearMonthNum = function formatYearMonthNum(){
  return 'y-M';
}
;
_.formatYearMonthNumDay = function formatYearMonthNumDay(){
  return 'y-M-d';
}
;
_.formatYearMonthWeekdayDay = function formatYearMonthWeekdayDay(){
  return 'EEE, y MMM d';
}
;
_.formatYearQuarterFull = function formatYearQuarterFull(){
  return 'y QQQQ';
}
;
_.formatYearQuarterShort = function formatYearQuarterShort(){
  return 'y Q';
}
;
_.getClass$ = function getClass_101(){
  return Lcom_google_gwt_i18n_client_DefaultDateTimeFormatInfo_2_classLit;
}
;
_.timeFormatFull = function timeFormatFull(){
  return 'HH:mm:ss zzzz';
}
;
_.timeFormatLong = function timeFormatLong(){
  return 'HH:mm:ss z';
}
;
_.timeFormatMedium = function timeFormatMedium(){
  return 'HH:mm:ss';
}
;
_.timeFormatShort = function timeFormatShort(){
  return 'HH:mm';
}
;
_.castableTypeMap$ = {};
function $clinit_192(){
  $clinit_192 = nullMethod;
  RTL = new HasDirection$Direction_0('RTL', 0);
  LTR = new HasDirection$Direction_0('LTR', 1);
  DEFAULT = new HasDirection$Direction_0('DEFAULT', 2);
  $VALUES_3 = initValues(_3Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit, {36:1, 66:1}, 60, [RTL, LTR, DEFAULT]);
}

function HasDirection$Direction_0(enum$name, enum$ordinal){
  this.name_0 = enum$name;
  this.ordinal = enum$ordinal;
}

function values_4(){
  $clinit_192();
  return $VALUES_3;
}

function HasDirection$Direction(){
}

_ = HasDirection$Direction_0.prototype = HasDirection$Direction.prototype = new Enum;
_.getClass$ = function getClass_102(){
  return Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 60:1, 66:1, 68:1};
var $VALUES_3, DEFAULT, LTR, RTL;
function $clinit_193(){
  $clinit_193 = nullMethod;
  instance_0 = new LocaleInfo_0;
}

function $getDateTimeFormatInfo(this$static){
  !this$static.dateTimeFormatInfo && (this$static.dateTimeFormatInfo = new DateTimeFormatInfoImpl_0);
  return this$static.dateTimeFormatInfo;
}

function LocaleInfo_0(){
}

function LocaleInfo(){
}

_ = LocaleInfo_0.prototype = LocaleInfo.prototype = new Object_0;
_.getClass$ = function getClass_103(){
  return Lcom_google_gwt_i18n_client_LocaleInfo_2_classLit;
}
;
_.castableTypeMap$ = {};
_.dateTimeFormatInfo = null;
var instance_0;
function $getISOTimeZoneString(this$static){
  var data, offset;
  offset = -this$static.standardOffset;
  data = initValues(_3C_classLit, {66:1}, -1, [43, 48, 48, 58, 48, 48]);
  if (offset < 0) {
    data[0] = 45;
    offset = -offset;
  }
  data[1] += ~~(~~(offset / 60) / 10);
  data[2] += ~~(offset / 60) % 10;
  data[4] += ~~(offset % 60 / 10);
  data[5] += offset % 10;
  return String.fromCharCode.apply(null, data);
}

function $getRFCTimeZoneString(this$static){
  var data, offset;
  offset = -this$static.standardOffset;
  data = initValues(_3C_classLit, {66:1}, -1, [43, 48, 48, 48, 48]);
  if (offset < 0) {
    data[0] = 45;
    offset = -offset;
  }
  data[1] += ~~(~~(offset / 60) / 10);
  data[2] += ~~(offset / 60) % 10;
  data[3] += ~~(offset % 60 / 10);
  data[4] += offset % 10;
  return String.fromCharCode.apply(null, data);
}

function TimeZone_0(){
}

function composeGMTString(offset){
  var data;
  data = initValues(_3C_classLit, {66:1}, -1, [71, 77, 84, 45, 48, 48, 58, 48, 48]);
  if (offset <= 0) {
    data[3] = 43;
    offset = -offset;
  }
  data[4] += ~~(~~(offset / 60) / 10);
  data[5] += ~~(offset / 60) % 10;
  data[7] += ~~(offset % 60 / 10);
  data[8] += offset % 10;
  return String.fromCharCode.apply(null, data);
}

function composePOSIXTimeZoneID(offset){
  var str;
  if (offset == 0) {
    return 'Etc/GMT';
  }
  if (offset < 0) {
    offset = -offset;
    str = 'Etc/GMT-';
  }
   else {
    str = 'Etc/GMT+';
  }
  return str + offsetDisplay(offset);
}

function composeUTCString(offset){
  var str;
  if (offset == 0) {
    return 'UTC';
  }
  if (offset < 0) {
    offset = -offset;
    str = 'UTC+';
  }
   else {
    str = 'UTC-';
  }
  return str + offsetDisplay(offset);
}

function createTimeZone(timeZoneOffsetInMinutes){
  var tz;
  tz = new TimeZone_0;
  tz.standardOffset = timeZoneOffsetInMinutes;
  tz.timezoneID = composePOSIXTimeZoneID(timeZoneOffsetInMinutes);
  tz.tzNames = initDim(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, 2, 0);
  tz.tzNames[0] = composeUTCString(timeZoneOffsetInMinutes);
  tz.tzNames[1] = composeUTCString(timeZoneOffsetInMinutes);
  return tz;
}

function offsetDisplay(offset){
  var hour, mins;
  hour = ~~(offset / 60);
  mins = offset % 60;
  if (mins == 0) {
    return '' + hour;
  }
  return '' + hour + ':' + mins;
}

function TimeZone(){
}

_ = TimeZone_0.prototype = TimeZone.prototype = new Object_0;
_.getClass$ = function getClass_104(){
  return Lcom_google_gwt_i18n_client_TimeZone_2_classLit;
}
;
_.castableTypeMap$ = {};
_.standardOffset = 0;
_.timezoneID = null;
_.tzNames = null;
function $fixDaylightSavings(this$static, hours){
  var badHours, copy, day, newTime, timeDiff, timeDiffHours, timeDiffMinutes;
  if (this$static.jsdate.getHours() % 24 != hours % 24) {
    copy = new Date(this$static.jsdate.getTime());
    copy.setDate(copy.getDate() + 1);
    timeDiff = this$static.jsdate.getTimezoneOffset() - copy.getTimezoneOffset();
    if (timeDiff > 0) {
      timeDiffHours = ~~(timeDiff / 60);
      timeDiffMinutes = timeDiff % 60;
      day = this$static.jsdate.getDate();
      badHours = this$static.jsdate.getHours();
      badHours + timeDiffHours >= 24 && ++day;
      newTime = new Date(this$static.jsdate.getFullYear(), this$static.jsdate.getMonth(), day, hours + timeDiffHours, this$static.jsdate.getMinutes() + timeDiffMinutes, this$static.jsdate.getSeconds(), this$static.jsdate.getMilliseconds());
      this$static.jsdate.setTime(newTime.getTime());
    }
  }
}

function $setTime_0(this$static, time){
  this$static.jsdate.setTime(toDouble(time));
}

function Date_1(){
  this.jsdate = new Date;
}

function Date_2(year, month, date){
  this.jsdate = new Date;
  this.jsdate.setFullYear(year + 1900, month, date);
  this.jsdate.setHours(0, 0, 0, 0);
  $fixDaylightSavings(this, 0);
}

function Date_4(date){
  this.jsdate = new Date(toDouble(date));
}

function Date_5(date){
  this.jsdate = new Date(toDouble(parse_0(date)));
}

function padTwo(number){
  return number < 10?'0' + number:'' + number;
}

function parse_0(s){
  var parsed;
  parsed = Date.parse(s);
  if (isNaN(parsed)) {
    throw new IllegalArgumentException_0;
  }
  return fromDouble(parsed);
}

function Date_0(){
}

_ = Date_5.prototype = Date_4.prototype = Date_2.prototype = Date_1.prototype = Date_0.prototype = new Object_0;
_.compareTo = function compareTo_0(other){
  return signum(sub(this.getTime_0(), other.getTime_0()));
}
;
_.compareTo$ = function compareTo_1(other){
  return this.compareTo(dynamicCast(other, 6));
}
;
_.equals$ = function equals_3(obj){
  return obj != null && obj.castableTypeMap$ && !!obj.castableTypeMap$[6] && eq(this.getTime_0(), dynamicCast(obj, 6).getTime_0());
}
;
_.getClass$ = function getClass_105(){
  return Ljava_util_Date_2_classLit;
}
;
_.getDate_0 = function getDate_0(){
  return this.jsdate.getDate();
}
;
_.getDay_0 = function getDay(){
  return this.jsdate.getDay();
}
;
_.getHours_0 = function getHours(){
  return this.jsdate.getHours();
}
;
_.getMinutes_0 = function getMinutes(){
  return this.jsdate.getMinutes();
}
;
_.getMonth_0 = function getMonth(){
  return this.jsdate.getMonth();
}
;
_.getSeconds_0 = function getSeconds(){
  return this.jsdate.getSeconds();
}
;
_.getTime_0 = function getTime(){
  return fromDouble(this.jsdate.getTime());
}
;
_.getYear = function getYear(){
  return this.jsdate.getFullYear() - 1900;
}
;
_.hashCode$ = function hashCode_5(){
  var time;
  return time = this.getTime_0() , toInt(xor(time, shru(time, 32)));
}
;
_.setDate_0 = function setDate_0(date){
  var hours;
  hours = this.jsdate.getHours();
  this.jsdate.setDate(date);
  $fixDaylightSavings(this, hours);
}
;
_.setHours_0 = function setHours(hours){
  this.jsdate.setHours(hours);
  $fixDaylightSavings(this, hours);
}
;
_.setMinutes_0 = function setMinutes(minutes){
  var hours;
  hours = this.getHours_0() + ~~(minutes / 60);
  this.jsdate.setMinutes(minutes);
  $fixDaylightSavings(this, hours);
}
;
_.setMonth_0 = function setMonth(month){
  var hours;
  hours = this.jsdate.getHours();
  this.jsdate.setMonth(month);
  $fixDaylightSavings(this, hours);
}
;
_.setSeconds_0 = function setSeconds(seconds){
  var hours;
  hours = this.getHours_0() + ~~(seconds / 3600);
  this.jsdate.setSeconds(seconds);
  $fixDaylightSavings(this, hours);
}
;
_.setTime_0 = function setTime(time){
  this.jsdate.setTime(toDouble(time));
}
;
_.setYear = function setYear(year){
  var hours;
  hours = this.jsdate.getHours();
  this.jsdate.setFullYear(year + 1900);
  $fixDaylightSavings(this, hours);
}
;
_.toString$ = function toString_7(){
  var hourOffset, minuteOffset, offset;
  offset = -this.jsdate.getTimezoneOffset();
  hourOffset = (offset >= 0?'+':'') + ~~(offset / 60);
  minuteOffset = (offset < 0?-offset:offset) % 60 < 10?'0' + (offset < 0?-offset:offset) % 60:'' + (offset < 0?-offset:offset) % 60;
  return ($clinit_536() , DAYS)[this.jsdate.getDay()] + ' ' + MONTHS[this.jsdate.getMonth()] + ' ' + padTwo(this.jsdate.getDate()) + ' ' + padTwo(this.jsdate.getHours()) + ':' + padTwo(this.jsdate.getMinutes()) + ':' + padTwo(this.jsdate.getSeconds()) + ' GMT' + hourOffset + minuteOffset + ' ' + this.jsdate.getFullYear();
}
;
_.castableTypeMap$ = {6:1, 66:1, 68:1};
_.jsdate = null;
function $calcDate(this$static, date){
  var adjustment, daysInCurrentMonth, defaultCenturyStart, offset, orgDayOfMonth, orgMonth, tmp;
  this$static.era == 0 && this$static.year > 0 && (this$static.year = -(this$static.year - 1));
  this$static.year > -2147483648 && date.setYear(this$static.year - 1900);
  orgDayOfMonth = date.getDate_0();
  date.setDate_0(1);
  this$static.month >= 0 && date.setMonth_0(this$static.month);
  if (this$static.dayOfMonth >= 0) {
    date.setDate_0(this$static.dayOfMonth);
  }
   else if (this$static.month >= 0) {
    tmp = new Date_2(date.getYear(), date.getMonth_0(), 35);
    daysInCurrentMonth = 35 - tmp.getDate_0();
    date.setDate_0(daysInCurrentMonth < orgDayOfMonth?daysInCurrentMonth:orgDayOfMonth);
  }
   else {
    date.setDate_0(orgDayOfMonth);
  }
  this$static.hours < 0 && (this$static.hours = date.getHours_0());
  this$static.ampm > 0 && this$static.hours < 12 && (this$static.hours += 12);
  date.setHours_0(this$static.hours);
  this$static.minutes >= 0 && date.setMinutes_0(this$static.minutes);
  this$static.seconds >= 0 && date.setSeconds_0(this$static.seconds);
  this$static.milliseconds >= 0 && date.setTime_0(add_0(mul(divMod(date.getTime_0(), P3e8_longLit, false), P3e8_longLit), fromInt(this$static.milliseconds)));
  if (this$static.ambiguousYear) {
    defaultCenturyStart = new Date_1;
    defaultCenturyStart.setYear(defaultCenturyStart.getYear() - 80);
    !gte_0(date.getTime_0(), defaultCenturyStart.getTime_0()) && date.setYear(defaultCenturyStart.getYear() + 100);
  }
  if (this$static.dayOfWeek >= 0) {
    if (this$static.dayOfMonth == -1) {
      adjustment = (7 + this$static.dayOfWeek - date.getDay_0()) % 7;
      adjustment > 3 && (adjustment -= 7);
      orgMonth = date.getMonth_0();
      date.setDate_0(date.getDate_0() + adjustment);
      date.getMonth_0() != orgMonth && date.setDate_0(date.getDate_0() + (adjustment > 0?-7:7));
    }
     else {
      if (date.getDay_0() != this$static.dayOfWeek) {
        return false;
      }
    }
  }
  if (this$static.tzOffset > -2147483648) {
    offset = date.jsdate.getTimezoneOffset();
    date.setTime_0(add_0(date.getTime_0(), fromInt((this$static.tzOffset - offset) * 60 * 1000)));
  }
  return true;
}

function DateRecord_0(){
  this.jsdate = new Date;
  this.era = -1;
  this.ambiguousYear = false;
  this.year = -2147483648;
  this.month = -1;
  this.dayOfMonth = -1;
  this.ampm = -1;
  this.hours = -1;
  this.minutes = -1;
  this.seconds = -1;
  this.milliseconds = -1;
  this.dayOfWeek = -1;
  this.tzOffset = -2147483648;
}

function DateRecord(){
}

_ = DateRecord_0.prototype = DateRecord.prototype = new Date_0;
_.getClass$ = function getClass_106(){
  return Lcom_google_gwt_i18n_client_impl_DateRecord_2_classLit;
}
;
_.setHours_0 = function setHours_0(hours){
  this.hours = hours;
}
;
_.setMinutes_0 = function setMinutes_0(minutes){
  this.minutes = minutes;
}
;
_.setMonth_0 = function setMonth_0(month){
  this.month = month;
}
;
_.setSeconds_0 = function setSeconds_0(seconds){
  this.seconds = seconds;
}
;
_.setYear = function setYear_0(value){
  this.year = value;
}
;
_.castableTypeMap$ = {6:1, 66:1, 68:1};
_.ambiguousYear = false;
_.ampm = 0;
_.dayOfMonth = 0;
_.dayOfWeek = 0;
_.era = 0;
_.hours = 0;
_.milliseconds = 0;
_.minutes = 0;
_.month = 0;
_.seconds = 0;
_.tzOffset = 0;
_.year = 0;
function deserialize_2(streamReader, instance){
  instance.ambiguousYear = !!streamReader.results[--streamReader.index_0];
  instance.ampm = streamReader.results[--streamReader.index_0];
  instance.dayOfMonth = streamReader.results[--streamReader.index_0];
  instance.dayOfWeek = streamReader.results[--streamReader.index_0];
  instance.era = streamReader.results[--streamReader.index_0];
  instance.hours = streamReader.results[--streamReader.index_0];
  instance.milliseconds = streamReader.results[--streamReader.index_0];
  instance.minutes = streamReader.results[--streamReader.index_0];
  instance.month = streamReader.results[--streamReader.index_0];
  instance.seconds = streamReader.results[--streamReader.index_0];
  instance.tzOffset = streamReader.results[--streamReader.index_0];
  instance.year = streamReader.results[--streamReader.index_0];
}

function instantiate_2(streamReader){
  return new DateRecord_0;
}

function serialize_0(streamWriter, instance){
  append(streamWriter.encodeBuffer, instance.ambiguousYear?'1':'0');
  append(streamWriter.encodeBuffer, '' + instance.ampm);
  append(streamWriter.encodeBuffer, '' + instance.dayOfMonth);
  append(streamWriter.encodeBuffer, '' + instance.dayOfWeek);
  append(streamWriter.encodeBuffer, '' + instance.era);
  append(streamWriter.encodeBuffer, '' + instance.hours);
  append(streamWriter.encodeBuffer, '' + instance.milliseconds);
  append(streamWriter.encodeBuffer, '' + instance.minutes);
  append(streamWriter.encodeBuffer, '' + instance.month);
  append(streamWriter.encodeBuffer, '' + instance.seconds);
  append(streamWriter.encodeBuffer, '' + instance.tzOffset);
  append(streamWriter.encodeBuffer, '' + instance.year);
  append(streamWriter.encodeBuffer, toBase64(fromDouble(instance.jsdate.getTime())));
}

function DateTimeFormatInfoImpl_0(){
}

function DateTimeFormatInfoImpl(){
}

_ = DateTimeFormatInfoImpl_0.prototype = DateTimeFormatInfoImpl.prototype = new DefaultDateTimeFormatInfo;
_.getClass$ = function getClass_107(){
  return Lcom_google_gwt_i18n_client_impl_cldr_DateTimeFormatInfoImpl_2_classLit;
}
;
_.castableTypeMap$ = {};
function DateTimeFormatInfoImpl_en_0(){
}

function DateTimeFormatInfoImpl_en(){
}

_ = DateTimeFormatInfoImpl_en_0.prototype = DateTimeFormatInfoImpl_en.prototype = new DateTimeFormatInfoImpl;
_.dateFormatFull = function dateFormatFull_0(){
  return 'EEEE, MMMM d, y';
}
;
_.dateFormatLong = function dateFormatLong_0(){
  return 'MMMM d, y';
}
;
_.dateFormatMedium = function dateFormatMedium_0(){
  return 'MMM d, y';
}
;
_.dateFormatShort = function dateFormatShort_0(){
  return 'M/d/yy';
}
;
_.firstDayOfTheWeek = function firstDayOfTheWeek_0(){
  return 0;
}
;
_.formatMonthFullWeekdayDay = function formatMonthFullWeekdayDay_0(){
  return 'EEEE, MMMM d';
}
;
_.formatMonthNumDay = function formatMonthNumDay_0(){
  return 'M/d';
}
;
_.formatYearMonthAbbrev = function formatYearMonthAbbrev_0(){
  return 'MMM y';
}
;
_.formatYearMonthAbbrevDay = function formatYearMonthAbbrevDay_0(){
  return 'MMM d, y';
}
;
_.formatYearMonthFull = function formatYearMonthFull_0(){
  return 'MMMM y';
}
;
_.formatYearMonthFullDay = function formatYearMonthFullDay_0(){
  return 'MMMM d, y';
}
;
_.formatYearMonthNum = function formatYearMonthNum_0(){
  return 'M/y';
}
;
_.formatYearMonthNumDay = function formatYearMonthNumDay_0(){
  return 'M/d/y';
}
;
_.formatYearMonthWeekdayDay = function formatYearMonthWeekdayDay_0(){
  return 'EEE, MMM d, y';
}
;
_.formatYearQuarterFull = function formatYearQuarterFull_0(){
  return 'QQQQ y';
}
;
_.formatYearQuarterShort = function formatYearQuarterShort_0(){
  return 'Q y';
}
;
_.getClass$ = function getClass_108(){
  return Lcom_google_gwt_i18n_client_impl_cldr_DateTimeFormatInfoImpl_1en_2_classLit;
}
;
_.timeFormatFull = function timeFormatFull_0(){
  return 'h:mm:ss a zzzz';
}
;
_.timeFormatLong = function timeFormatLong_0(){
  return 'h:mm:ss a z';
}
;
_.timeFormatMedium = function timeFormatMedium_0(){
  return 'h:mm:ss a';
}
;
_.timeFormatShort = function timeFormatShort_0(){
  return 'h:mm a';
}
;
_.castableTypeMap$ = {};
function Array_1(){
}

function clone(array){
  var a_0, result;
  return a_0 = array , result = a_0.slice(0, array.length) , initValues(a_0.arrayClass$, a_0.castableTypeMap$, a_0.queryId$, result) , result;
}

function createFrom(array, length_0){
  var a_0, result;
  a_0 = array;
  result = createFromSeed(0, length_0);
  initValues(a_0.arrayClass$, a_0.castableTypeMap$, a_0.queryId$, result);
  return result;
}

function createFromSeed(seedType, length_0){
  var array = new Array(length_0);
  if (seedType == 3) {
    for (var i = 0; i < length_0; ++i) {
      var value = new Object;
      value.l = value.m = value.h = 0;
      array[i] = value;
    }
  }
   else if (seedType > 0) {
    var value = [null, 0, false][seedType];
    for (var i = 0; i < length_0; ++i) {
      array[i] = value;
    }
  }
  return array;
}

function initDim(arrayClass, castableTypeMap, queryId, length_0, seedType){
  var result;
  result = createFromSeed(seedType, length_0);
  $clinit_203();
  wrapArray(result, expandoNames_0, expandoValues_0);
  result.arrayClass$ = arrayClass;
  result.castableTypeMap$ = castableTypeMap;
  result.queryId$ = queryId;
  return result;
}

function initValues(arrayClass, castableTypeMap, queryId, array){
  $clinit_203();
  wrapArray(array, expandoNames_0, expandoValues_0);
  array.arrayClass$ = arrayClass;
  array.castableTypeMap$ = castableTypeMap;
  array.queryId$ = queryId;
  return array;
}

function setCheck(array, index, value){
  if (value != null) {
    if (array.queryId$ > 0 && !canCastUnsafe(value, array.queryId$)) {
      throw new ArrayStoreException_0;
    }
    if (array.queryId$ < 0 && (value.typeMarker$ == nullMethod || value.castableTypeMap$ && !!value.castableTypeMap$[1])) {
      throw new ArrayStoreException_0;
    }
  }
  return array[index] = value;
}

function Array_0(){
}

_ = Array_1.prototype = Array_0.prototype = new Object_0;
_.getClass$ = function getClass_109(){
  return this.arrayClass$;
}
;
_.castableTypeMap$ = {};
_.arrayClass$ = null;
_.queryId$ = 0;
function $clinit_203(){
  $clinit_203 = nullMethod;
  expandoNames_0 = [];
  expandoValues_0 = [];
  initExpandos(new Array_1, expandoNames_0, expandoValues_0);
}

function initExpandos(protoType, expandoNames, expandoValues){
  var i = 0, value;
  for (var name_0 in protoType) {
    if (value = protoType[name_0]) {
      expandoNames[i] = name_0;
      expandoValues[i] = value;
      ++i;
    }
  }
}

function wrapArray(array, expandoNames, expandoValues){
  $clinit_203();
  for (var i = 0, c = expandoNames.length; i < c; ++i) {
    array[expandoNames[i]] = expandoValues[i];
  }
}

var expandoNames_0, expandoValues_0;
function canCastUnsafe(src, dstId){
  return src.castableTypeMap$ && src.castableTypeMap$[dstId];
}

function dynamicCast(src, dstId){
  if (src != null && !(src.castableTypeMap$ && src.castableTypeMap$[dstId])) {
    throw new ClassCastException_0;
  }
  return src;
}

function dynamicCastJso(src){
  if (src != null && (src.typeMarker$ == nullMethod || src.castableTypeMap$ && !!src.castableTypeMap$[1])) {
    throw new ClassCastException_0;
  }
  return src;
}

function instanceOf(src, dstId){
  return src != null && src.castableTypeMap$ && !!src.castableTypeMap$[dstId];
}

function instanceOfJso(src){
  return src != null && src.typeMarker$ != nullMethod && !(src.castableTypeMap$ && !!src.castableTypeMap$[1]);
}

function maskUndefined(src){
  return src == null?null:src;
}

function throwClassCastExceptionUnlessNull(o){
  if (o != null) {
    throw new ClassCastException_0;
  }
  return null;
}

function init(){
  !!$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date).getTime(), type:'onModuleLoadStart', className:'com.bkd.dreams.client.AchievingDreams'});
  $onModuleLoad(new AchievingDreams_0);
}

function caught_0(e){
  if (e != null && e.castableTypeMap$ && !!e.castableTypeMap$[17]) {
    return e;
  }
  return new JavaScriptException_0(e);
}

function create_3(value){
  var a0, a1, a2;
  a0 = value & 4194303;
  a1 = value >> 22 & 4194303;
  a2 = value < 0?1048575:0;
  return a = new LongLibBase$LongEmul_0 , a.l = a0 , a.m = a1 , a.h = a2 , a;
}

function create_4(a_0){
  return create0(a_0.l, a_0.m, a_0.h);
}

function create0(l_0, m_0, h_0){
  return a = new LongLibBase$LongEmul_0 , a.l = l_0 , a.m = m_0 , a.h = h_0 , a;
}

function divMod(a_0, b, computeRemainder){
  var aIsCopy, aIsMinValue, aIsNegative, bpower, c, negative;
  if (b.l == 0 && b.m == 0 && b.h == 0) {
    throw new ArithmeticException_0;
  }
  if (a_0.l == 0 && a_0.m == 0 && a_0.h == 0) {
    computeRemainder && (remainder = create0(0, 0, 0));
    return create0(0, 0, 0);
  }
  if (b.h == 524288 && b.m == 0 && b.l == 0) {
    return divModByMinValue(a_0, computeRemainder);
  }
  negative = false;
  if (b.h >> 19 != 0) {
    b = neg(b);
    negative = true;
  }
  bpower = powerOfTwo(b);
  aIsNegative = false;
  aIsMinValue = false;
  aIsCopy = false;
  if (a_0.h == 524288 && a_0.m == 0 && a_0.l == 0) {
    aIsMinValue = true;
    aIsNegative = true;
    if (bpower == -1) {
      a_0 = create_4(($clinit_210() , MAX_VALUE));
      aIsCopy = true;
      negative = !negative;
    }
     else {
      c = shr(a_0, bpower);
      negative && negate(c);
      computeRemainder && (remainder = create0(0, 0, 0));
      return c;
    }
  }
   else if (a_0.h >> 19 != 0) {
    aIsNegative = true;
    a_0 = neg(a_0);
    aIsCopy = true;
    negative = !negative;
  }
  if (bpower != -1) {
    return divModByShift(a_0, bpower, negative, aIsNegative, computeRemainder);
  }
  if (!gte_0(a_0, b)) {
    computeRemainder && (aIsNegative?(remainder = neg(a_0)):(remainder = create0(a_0.l, a_0.m, a_0.h)));
    return create0(0, 0, 0);
  }
  return divModHelper(aIsCopy?a_0:create0(a_0.l, a_0.m, a_0.h), b, negative, aIsNegative, aIsMinValue, computeRemainder);
}

function divModByMinValue(a_0, computeRemainder){
  if (a_0.h == 524288 && a_0.m == 0 && a_0.l == 0) {
    computeRemainder && (remainder = create0(0, 0, 0));
    return create_4(($clinit_210() , ONE));
  }
  computeRemainder && (remainder = create0(a_0.l, a_0.m, a_0.h));
  return create0(0, 0, 0);
}

function divModByShift(a_0, bpower, negative, aIsNegative, computeRemainder){
  var c;
  c = shr(a_0, bpower);
  negative && negate(c);
  if (computeRemainder) {
    a_0 = maskRight(a_0, bpower);
    aIsNegative?(remainder = neg(a_0)):(remainder = create0(a_0.l, a_0.m, a_0.h));
  }
  return c;
}

function divModHelper(a_0, b, negative, aIsNegative, aIsMinValue, computeRemainder){
  var bshift, gte, quotient, shift, a0, a1, a2;
  shift = numberOfLeadingZeros(b) - numberOfLeadingZeros(a_0);
  bshift = shl(b, shift);
  quotient = create0(0, 0, 0);
  while (shift >= 0) {
    gte = trialSubtract(a_0, bshift);
    if (gte) {
      shift < 22?(quotient.l |= 1 << shift , undefined):shift < 44?(quotient.m |= 1 << shift - 22 , undefined):(quotient.h |= 1 << shift - 44 , undefined);
      if (a_0.l == 0 && a_0.m == 0 && a_0.h == 0) {
        break;
      }
    }
    a1 = bshift.m;
    a2 = bshift.h;
    a0 = bshift.l;
    bshift.h = a2 >>> 1;
    bshift.m = a1 >>> 1 | (a2 & 1) << 21;
    bshift.l = a0 >>> 1 | (a1 & 1) << 21;
    --shift;
  }
  negative && negate(quotient);
  if (computeRemainder) {
    if (aIsNegative) {
      remainder = neg(a_0);
      aIsMinValue && (remainder = sub(remainder, ($clinit_210() , ONE)));
    }
     else {
      remainder = create0(a_0.l, a_0.m, a_0.h);
    }
  }
  return quotient;
}

function maskRight(a_0, bits){
  var b0, b1, b2;
  if (bits <= 22) {
    b0 = a_0.l & (1 << bits) - 1;
    b1 = b2 = 0;
  }
   else if (bits <= 44) {
    b0 = a_0.l;
    b1 = a_0.m & (1 << bits - 22) - 1;
    b2 = 0;
  }
   else {
    b0 = a_0.l;
    b1 = a_0.m;
    b2 = a_0.h & (1 << bits - 44) - 1;
  }
  return create0(b0, b1, b2);
}

function negate(a_0){
  var neg0, neg1, neg2;
  neg0 = ~a_0.l + 1 & 4194303;
  neg1 = ~a_0.m + (neg0 == 0?1:0) & 4194303;
  neg2 = ~a_0.h + (neg0 == 0 && neg1 == 0?1:0) & 1048575;
  a_0.l = neg0;
  a_0.m = neg1;
  a_0.h = neg2;
}

function numberOfLeadingZeros(a_0){
  var b1, b2;
  b2 = numberOfLeadingZeros_0(a_0.h);
  if (b2 == 32) {
    b1 = numberOfLeadingZeros_0(a_0.m);
    return b1 == 32?numberOfLeadingZeros_0(a_0.l) + 32:b1 + 20 - 10;
  }
   else {
    return b2 - 12;
  }
}

function powerOfTwo(a_0){
  var h_0, l_0, m_0;
  l_0 = a_0.l;
  if ((l_0 & l_0 - 1) != 0) {
    return -1;
  }
  m_0 = a_0.m;
  if ((m_0 & m_0 - 1) != 0) {
    return -1;
  }
  h_0 = a_0.h;
  if ((h_0 & h_0 - 1) != 0) {
    return -1;
  }
  if (h_0 == 0 && m_0 == 0 && l_0 == 0) {
    return -1;
  }
  if (h_0 == 0 && m_0 == 0 && l_0 != 0) {
    return numberOfTrailingZeros(l_0);
  }
  if (h_0 == 0 && m_0 != 0 && l_0 == 0) {
    return numberOfTrailingZeros(m_0) + 22;
  }
  if (h_0 != 0 && m_0 == 0 && l_0 == 0) {
    return numberOfTrailingZeros(h_0) + 44;
  }
  return -1;
}

function toDoubleHelper(a_0){
  return a_0.l + a_0.m * 4194304 + a_0.h * 17592186044416;
}

function trialSubtract(a_0, b){
  var sum0, sum1, sum2;
  sum2 = a_0.h - b.h;
  if (sum2 < 0) {
    return false;
  }
  sum0 = a_0.l - b.l;
  sum1 = a_0.m - b.m + (sum0 >> 22);
  sum2 += sum1 >> 22;
  if (sum2 < 0) {
    return false;
  }
  a_0.l = sum0 & 4194303;
  a_0.m = sum1 & 4194303;
  a_0.h = sum2 & 1048575;
  return true;
}

var remainder = null;
function add_0(a_0, b){
  var sum0, sum1, sum2;
  sum0 = a_0.l + b.l;
  sum1 = a_0.m + b.m + (sum0 >> 22);
  sum2 = a_0.h + b.h + (sum1 >> 22);
  return create0(sum0 & 4194303, sum1 & 4194303, sum2 & 1048575);
}

function and(a_0, b){
  return create0(a_0.l & b.l, a_0.m & b.m, a_0.h & b.h);
}

function base64Append(sb, digit, haveNonZero){
  var c;
  digit > 0 && (haveNonZero = true);
  if (haveNonZero) {
    digit < 26?(c = 65 + digit):digit < 52?(c = 97 + digit - 26):digit < 62?(c = 48 + digit - 52):digit == 62?(c = 36):(c = 95);
    sb.impl.string += String.fromCharCode(c & 65535);
  }
  return haveNonZero;
}

function base64Value(digit){
  if (digit >= 65 && digit <= 90) {
    return digit - 65;
  }
  if (digit >= 97) {
    return digit - 97 + 26;
  }
  if (digit >= 48 && digit <= 57) {
    return digit - 48 + 52;
  }
  if (digit == 36) {
    return 62;
  }
  return 63;
}

function eq(a_0, b){
  return a_0.l == b.l && a_0.m == b.m && a_0.h == b.h;
}

function fromDouble(value){
  var a0, a1, a2, negative, result;
  if (isNaN(value)) {
    return $clinit_210() , ZERO;
  }
  if (value < -9223372036854775808) {
    return $clinit_210() , MIN_VALUE;
  }
  if (value >= 9223372036854775807) {
    return $clinit_210() , MAX_VALUE;
  }
  negative = false;
  if (value < 0) {
    negative = true;
    value = -value;
  }
  a2 = 0;
  if (value >= 17592186044416) {
    a2 = ~~Math.max(Math.min(value / 17592186044416, 2147483647), -2147483648);
    value -= a2 * 17592186044416;
  }
  a1 = 0;
  if (value >= 4194304) {
    a1 = ~~Math.max(Math.min(value / 4194304, 2147483647), -2147483648);
    value -= a1 * 4194304;
  }
  a0 = ~~Math.max(Math.min(value, 2147483647), -2147483648);
  result = (a = new LongLibBase$LongEmul_0 , a.l = a0 , a.m = a1 , a.h = a2 , a);
  negative && negate(result);
  return result;
}

function fromInt(value){
  var rebase, result;
  if (value > -129 && value < 128) {
    rebase = value + 128;
    boxedValues == null && (boxedValues = initDim(_3Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit, {36:1, 66:1}, 61, 256, 0));
    result = boxedValues[rebase];
    !result && (result = boxedValues[rebase] = create_3(value));
    return result;
  }
  return create_3(value);
}

function gt(a_0, b){
  var signa, signb;
  signa = a_0.h >> 19;
  signb = b.h >> 19;
  return signa == 0?signb != 0 || a_0.h > b.h || a_0.h == b.h && a_0.m > b.m || a_0.h == b.h && a_0.m == b.m && a_0.l > b.l:!(signb == 0 || a_0.h < b.h || a_0.h == b.h && a_0.m < b.m || a_0.h == b.h && a_0.m == b.m && a_0.l <= b.l);
}

--></script>
<script><!--
function gte_0(a_0, b){
  var signa, signb;
  signa = a_0.h >> 19;
  signb = b.h >> 19;
  return signa == 0?signb != 0 || a_0.h > b.h || a_0.h == b.h && a_0.m > b.m || a_0.h == b.h && a_0.m == b.m && a_0.l >= b.l:!(signb == 0 || a_0.h < b.h || a_0.h == b.h && a_0.m < b.m || a_0.h == b.h && a_0.m == b.m && a_0.l < b.l);
}

function longFromBase64(value){
  var len, longVal, pos;
  pos = 0;
  longVal = fromInt(base64Value(value.charCodeAt(pos++)));
  len = value.length;
  while (pos < len) {
    longVal = shl(longVal, 6);
    longVal = or(longVal, fromInt(base64Value(value.charCodeAt(pos++))));
  }
  return longVal;
}

function mul(a_0, b){
  var a0, a1, a2, a3, a4, b0, b1, b2, b3, b4, c0, c00, c01, c1, c10, c11, c12, c13, c2, c22, c23, c24, p0, p1, p2, p3, p4;
  a0 = a_0.l & 8191;
  a1 = a_0.l >> 13 | (a_0.m & 15) << 9;
  a2 = a_0.m >> 4 & 8191;
  a3 = a_0.m >> 17 | (a_0.h & 255) << 5;
  a4 = (a_0.h & 1048320) >> 8;
  b0 = b.l & 8191;
  b1 = b.l >> 13 | (b.m & 15) << 9;
  b2 = b.m >> 4 & 8191;
  b3 = b.m >> 17 | (b.h & 255) << 5;
  b4 = (b.h & 1048320) >> 8;
  p0 = a0 * b0;
  p1 = a1 * b0;
  p2 = a2 * b0;
  p3 = a3 * b0;
  p4 = a4 * b0;
  if (b1 != 0) {
    p1 += a0 * b1;
    p2 += a1 * b1;
    p3 += a2 * b1;
    p4 += a3 * b1;
  }
  if (b2 != 0) {
    p2 += a0 * b2;
    p3 += a1 * b2;
    p4 += a2 * b2;
  }
  if (b3 != 0) {
    p3 += a0 * b3;
    p4 += a1 * b3;
  }
  b4 != 0 && (p4 += a0 * b4);
  c00 = p0 & 4194303;
  c01 = (p1 & 511) << 13;
  c0 = c00 + c01;
  c10 = p0 >> 22;
  c11 = p1 >> 9;
  c12 = (p2 & 262143) << 4;
  c13 = (p3 & 31) << 17;
  c1 = c10 + c11 + c12 + c13;
  c22 = p2 >> 18;
  c23 = p3 >> 5;
  c24 = (p4 & 4095) << 8;
  c2 = c22 + c23 + c24;
  c1 += c0 >> 22;
  c0 &= 4194303;
  c2 += c1 >> 22;
  c1 &= 4194303;
  c2 &= 1048575;
  return create0(c0, c1, c2);
}

function neg(a_0){
  var neg0, neg1, neg2;
  neg0 = ~a_0.l + 1 & 4194303;
  neg1 = ~a_0.m + (neg0 == 0?1:0) & 4194303;
  neg2 = ~a_0.h + (neg0 == 0 && neg1 == 0?1:0) & 1048575;
  return create0(neg0, neg1, neg2);
}

function or(a_0, b){
  return create0(a_0.l | b.l, a_0.m | b.m, a_0.h | b.h);
}

function shl(a_0, n){
  var res0, res1, res2;
  n &= 63;
  if (n < 22) {
    res0 = a_0.l << n;
    res1 = a_0.m << n | a_0.l >> 22 - n;
    res2 = a_0.h << n | a_0.m >> 22 - n;
  }
   else if (n < 44) {
    res0 = 0;
    res1 = a_0.l << n - 22;
    res2 = a_0.m << n - 22 | a_0.l >> 44 - n;
  }
   else {
    res0 = 0;
    res1 = 0;
    res2 = a_0.l << n - 44;
  }
  return create0(res0 & 4194303, res1 & 4194303, res2 & 1048575);
}

function shr(a_0, n){
  var a2, negative, res0, res1, res2;
  n &= 63;
  a2 = a_0.h;
  negative = (a2 & 524288) != 0;
  negative && (a2 |= -1048576);
  if (n < 22) {
    res2 = a2 >> n;
    res1 = a_0.m >> n | a2 << 22 - n;
    res0 = a_0.l >> n | a_0.m << 22 - n;
  }
   else if (n < 44) {
    res2 = negative?1048575:0;
    res1 = a2 >> n - 22;
    res0 = a_0.m >> n - 22 | a2 << 44 - n;
  }
   else {
    res2 = negative?1048575:0;
    res1 = negative?4194303:0;
    res0 = a2 >> n - 44;
  }
  return create0(res0 & 4194303, res1 & 4194303, res2 & 1048575);
}

function shru(a_0, n){
  var a2, res0, res1, res2;
  n &= 63;
  a2 = a_0.h & 1048575;
  if (n < 22) {
    res2 = a2 >>> n;
    res1 = a_0.m >> n | a2 << 22 - n;
    res0 = a_0.l >> n | a_0.m << 22 - n;
  }
   else if (n < 44) {
    res2 = 0;
    res1 = a2 >>> n - 22;
    res0 = a_0.m >> n - 22 | a_0.h << 44 - n;
  }
   else {
    res2 = 0;
    res1 = 0;
    res0 = a2 >>> n - 44;
  }
  return create0(res0 & 4194303, res1 & 4194303, res2 & 1048575);
}

function sub(a_0, b){
  var sum0, sum1, sum2;
  sum0 = a_0.l - b.l;
  sum1 = a_0.m - b.m + (sum0 >> 22);
  sum2 = a_0.h - b.h + (sum1 >> 22);
  return create0(sum0 & 4194303, sum1 & 4194303, sum2 & 1048575);
}

function toBase64(value){
  var haveNonZero, high, low, sb, v;
  low = toInt(and(value, N1_longLit));
  high = toInt(shr(value, 32));
  sb = new StringBuilder_0;
  haveNonZero = base64Append(sb, high >> 28 & 15, false);
  haveNonZero = base64Append(sb, high >> 22 & 63, haveNonZero);
  haveNonZero = base64Append(sb, high >> 16 & 63, haveNonZero);
  haveNonZero = base64Append(sb, high >> 10 & 63, haveNonZero);
  haveNonZero = base64Append(sb, high >> 4 & 63, haveNonZero);
  v = (high & 15) << 2 | low >> 30 & 3;
  haveNonZero = base64Append(sb, v, haveNonZero);
  haveNonZero = base64Append(sb, low >> 24 & 63, haveNonZero);
  haveNonZero = base64Append(sb, low >> 18 & 63, haveNonZero);
  haveNonZero = base64Append(sb, low >> 12 & 63, haveNonZero);
  base64Append(sb, low >> 6 & 63, haveNonZero);
  base64Append(sb, low & 63, true);
  return $toString_1(sb.impl, sb);
}

function toDouble(a_0){
  if (eq(a_0, ($clinit_210() , MIN_VALUE))) {
    return -9223372036854775808;
  }
  if (!gte_0(a_0, ZERO)) {
    return -toDoubleHelper(neg(a_0));
  }
  return a_0.l + a_0.m * 4194304 + a_0.h * 17592186044416;
}

function toInt(a_0){
  return a_0.l | a_0.m << 22;
}

function toString_8(a_0){
  var digits, rem, res, tenPowerLong, zeroesNeeded;
  if (a_0.l == 0 && a_0.m == 0 && a_0.h == 0) {
    return '0';
  }
  if (a_0.h == 524288 && a_0.m == 0 && a_0.l == 0) {
    return '-9223372036854775808';
  }
  if (a_0.h >> 19 != 0) {
    return '-' + toString_8(neg(a_0));
  }
  rem = a_0;
  res = '';
  while (!(rem.l == 0 && rem.m == 0 && rem.h == 0)) {
    tenPowerLong = fromInt(1000000000);
    rem = divMod(rem, tenPowerLong, true);
    digits = '' + toInt(remainder);
    if (!(rem.l == 0 && rem.m == 0 && rem.h == 0)) {
      zeroesNeeded = 9 - digits.length;
      for (; zeroesNeeded > 0; --zeroesNeeded) {
        digits = '0' + digits;
      }
    }
    res = digits + res;
  }
  return res;
}

function xor(a_0, b){
  return create0(a_0.l ^ b.l, a_0.m ^ b.m, a_0.h ^ b.h);
}

var boxedValues = null;
function $clinit_210(){
  $clinit_210 = nullMethod;
  MAX_VALUE = (a = new LongLibBase$LongEmul_0 , a.l = 4194303 , a.m = 4194303 , a.h = 524287 , a);
  MIN_VALUE = (a = new LongLibBase$LongEmul_0 , a.l = 0 , a.m = 0 , a.h = 524288 , a);
  ONE = fromInt(1);
  fromInt(2);
  ZERO = fromInt(0);
}

var MAX_VALUE, MIN_VALUE, ONE, ZERO;
function LongLibBase$LongEmul_0(){
}

function LongLibBase$LongEmul(){
}

_ = LongLibBase$LongEmul_0.prototype = LongLibBase$LongEmul.prototype = new Object_0;
_.getClass$ = function getClass_110(){
  return Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit;
}
;
_.castableTypeMap$ = {61:1};
function $replace_0(this$static, input, replacement){
  return input.replace(this$static, replacement);
}

function ImageResourcePrototype_0(url, width, height){
  this.left_0 = 0;
  this.top_0 = 0;
  this.height_0 = height;
  this.width_0 = width;
  this.url = url;
}

function ImageResourcePrototype(){
}

_ = ImageResourcePrototype_0.prototype = ImageResourcePrototype.prototype = new Object_0;
_.getClass$ = function getClass_111(){
  return Lcom_google_gwt_resources_client_impl_ImageResourcePrototype_2_classLit;
}
;
_.castableTypeMap$ = {};
_.height_0 = 0;
_.left_0 = 0;
_.top_0 = 0;
_.url = null;
_.width_0 = 0;
function OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(html){
  if (html == null) {
    throw new NullPointerException_1('html is null');
  }
  this.html = html;
}

function OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml(){
}

_ = OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0.prototype = OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml.prototype = new Object_0;
_.asString = function asString_0(){
  return this.html;
}
;
_.equals$ = function equals_4(obj){
  if (!(obj != null && obj.castableTypeMap$ && !!obj.castableTypeMap$[25])) {
    return false;
  }
  return $equals_2(this.html, dynamicCast(obj, 25).asString());
}
;
_.getClass$ = function getClass_112(){
  return Lcom_google_gwt_safehtml_shared_OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_2_classLit;
}
;
_.hashCode$ = function hashCode_6(){
  return getHashCode_0(this.html);
}
;
_.castableTypeMap$ = {25:1, 66:1};
_.html = null;
function $append_1(this$static, html){
  $append_7(this$static.sb, html.asString());
  return this$static;
}

function $appendHtmlConstant(this$static, html){
  $append_7(this$static.sb, html);
  return this$static;
}

function SafeHtmlBuilder_0(){
  this.sb = new StringBuilder_0;
}

function SafeHtmlBuilder(){
}

_ = SafeHtmlBuilder_0.prototype = SafeHtmlBuilder.prototype = new Object_0;
_.getClass$ = function getClass_113(){
  return Lcom_google_gwt_safehtml_shared_SafeHtmlBuilder_2_classLit;
}
;
_.castableTypeMap$ = {};
function $equals_1(this$static, obj){
  if (!(obj != null && obj.castableTypeMap$ && !!obj.castableTypeMap$[25])) {
    return false;
  }
  return $equals_2(this$static.html, dynamicCast(obj, 25).asString());
}

function SafeHtmlString_0(html){
  if (html == null) {
    throw new NullPointerException_1('html is null');
  }
  this.html = html;
}

function SafeHtmlString(){
}

_ = SafeHtmlString_0.prototype = SafeHtmlString.prototype = new Object_0;
_.asString = function asString_1(){
  return this.html;
}
;
_.equals$ = function equals_5(obj){
  return $equals_1(this, obj);
}
;
_.getClass$ = function getClass_114(){
  return Lcom_google_gwt_safehtml_shared_SafeHtmlString_2_classLit;
}
;
_.hashCode$ = function hashCode_7(){
  return getHashCode_0(this.html);
}
;
_.castableTypeMap$ = {25:1, 66:1};
_.html = null;
function $clinit_226(){
  $clinit_226 = nullMethod;
  EMPTY_SAFE_HTML = new SafeHtmlString_0('');
  AMP_RE = new RegExp('&', 'g');
  GT_RE = new RegExp('>', 'g');
  LT_RE = new RegExp('<', 'g');
  SQUOT_RE = new RegExp("'", 'g');
  QUOT_RE = new RegExp('"', 'g');
}

function htmlEscape(s){
  $clinit_226();
  s.indexOf('&') != -1 && (s = $replace_0(AMP_RE, s, '&amp;'));
  s.indexOf('<') != -1 && (s = $replace_0(LT_RE, s, '&lt;'));
  s.indexOf('>') != -1 && (s = $replace_0(GT_RE, s, '&gt;'));
  s.indexOf('"') != -1 && (s = $replace_0(QUOT_RE, s, '&quot;'));
  s.indexOf("'") != -1 && (s = $replace_0(SQUOT_RE, s, '&#39;'));
  return s;
}

var AMP_RE, EMPTY_SAFE_HTML, GT_RE, LT_RE, QUOT_RE, SQUOT_RE;
function AbstractRenderer(){
}

_ = AbstractRenderer.prototype = new Object_0;
_.getClass$ = function getClass_115(){
  return Lcom_google_gwt_text_shared_AbstractRenderer_2_classLit;
}
;
_.castableTypeMap$ = {};
function SimpleSafeHtmlRenderer_0(){
}

function SimpleSafeHtmlRenderer(){
}

_ = SimpleSafeHtmlRenderer_0.prototype = SimpleSafeHtmlRenderer.prototype = new Object_0;
_.getClass$ = function getClass_116(){
  return Lcom_google_gwt_text_shared_SimpleSafeHtmlRenderer_2_classLit;
}
;
_.castableTypeMap$ = {};
var instance_1 = null;
function PassthroughParser_0(){
}

function PassthroughParser(){
}

_ = PassthroughParser_0.prototype = PassthroughParser.prototype = new Object_0;
_.getClass$ = function getClass_117(){
  return Lcom_google_gwt_text_shared_testing_PassthroughParser_2_classLit;
}
;
_.castableTypeMap$ = {};
var INSTANCE_0 = null;
function PassthroughRenderer_0(){
}

function PassthroughRenderer(){
}

_ = PassthroughRenderer_0.prototype = PassthroughRenderer.prototype = new AbstractRenderer;
_.getClass$ = function getClass_118(){
  return Lcom_google_gwt_text_shared_testing_PassthroughRenderer_2_classLit;
}
;
_.castableTypeMap$ = {};
var INSTANCE_1 = null;
function $setElement(this$static, elem){
  this$static.element = elem;
}

function $setStyleDependentName(this$static, styleSuffix, add){
  $setStyleName(this$static, getStylePrimaryName(this$static.element) + '-' + styleSuffix, add);
}

function $setStyleName(this$static, style, add){
  setStyleName_0(this$static.element, style, add);
}

function $setStyleName_0(this$static, style){
  this$static.getStyleElement()['className'] = style;
}

function getStylePrimaryName(elem){
  var fullClassName, spaceIdx;
  fullClassName = elem['className'] == null?null:String(elem['className']);
  spaceIdx = fullClassName.indexOf(fromCodePoint(32));
  if (spaceIdx >= 0) {
    return fullClassName.substr(0, spaceIdx - 0);
  }
  return fullClassName;
}

function setStyleName_0(elem, style, add){
  if (!elem) {
    throw new RuntimeException_1('Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');
  }
  style = $trim(style);
  if (style.length == 0) {
    throw new IllegalArgumentException_1('Style names cannot be empty');
  }
  add?$addClassName(elem, style):$removeClassName(elem, style);
}

function UIObject(){
}

_ = UIObject.prototype = new Object_0;
_.getClass$ = function getClass_119(){
  return Lcom_google_gwt_user_client_ui_UIObject_2_classLit;
}
;
_.getStyleElement = function getStyleElement(){
  return this.element;
}
;
_.toString$ = function toString_9(){
  if (!this.element) {
    return '(null handle)';
  }
  return $toString_2(this.element);
}
;
_.castableTypeMap$ = {35:1};
_.element = null;
function $addDomHandler(this$static, handler, type){
  $sinkEvents(this$static, $eventGetTypeInt(type.name_0));
  return $addHandler_0((!this$static.handlerManager?(this$static.handlerManager = new HandlerManager_0(this$static)):this$static.handlerManager).eventBus, type, handler);
}

function $addHandler_1(this$static, handler, type){
  return $addHandler_0((!this$static.handlerManager?(this$static.handlerManager = new HandlerManager_0(this$static)):this$static.handlerManager).eventBus, type, handler);
}

function $fireEvent_1(this$static, event_0){
  !!this$static.handlerManager && $fireEvent(this$static.handlerManager, event_0);
}

function $onAttach(this$static){
  var bitsToAdd;
  if (this$static.isAttached()) {
    throw new IllegalStateException_1("Should only call onAttach when the widget is detached from the browser's document");
  }
  this$static.attached = true;
  this$static.element.__listener = this$static;
  bitsToAdd = this$static.eventsToSink;
  this$static.eventsToSink = -1;
  bitsToAdd > 0 && (this$static.eventsToSink == -1?$sinkEvents_1(this$static.element, bitsToAdd | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= bitsToAdd));
  this$static.doAttachChildren();
  this$static.onLoad();
}

function $onBrowserEvent_0(this$static, event_0){
  var related;
  switch ($eventGetTypeInt(event_0.type)) {
    case 16:
    case 32:
      related = $eventGetRelatedTarget(event_0);
      if (!!related && $isOrHasChild(this$static.element, related)) {
        return;
      }

  }
  fireNativeEvent(event_0, this$static, this$static.element);
}

function $onDetach(this$static){
  if (!this$static.isAttached()) {
    throw new IllegalStateException_1("Should only call onDetach when the widget is attached to the browser's document");
  }
  try {
    this$static.onUnload();
  }
   finally {
    try {
      this$static.doDetachChildren();
    }
     finally {
      this$static.element.__listener = null;
      this$static.attached = false;
    }
  }
}

function $removeFromParent(this$static){
  if (!this$static.parent_0) {
    ($clinit_406() , $containsKey(widgetsToDetach.map, this$static)) && detachNow(this$static);
  }
   else if (instanceOf(this$static.parent_0, 41)) {
    dynamicCast(this$static.parent_0, 41).remove_0(this$static);
  }
   else if (this$static.parent_0) {
    throw new IllegalStateException_1("This widget's parent does not implement HasWidgets");
  }
}

function $setParent(this$static, parent_0){
  var oldParent;
  oldParent = this$static.parent_0;
  if (!parent_0) {
    try {
      !!oldParent && oldParent.isAttached() && this$static.onDetach();
    }
     finally {
      this$static.parent_0 = null;
    }
  }
   else {
    if (oldParent) {
      throw new IllegalStateException_1('Cannot set a new parent without first clearing the old parent');
    }
    this$static.parent_0 = parent_0;
    parent_0.isAttached() && this$static.onAttach();
  }
}

function $sinkEvents(this$static, eventBitsToAdd){
  this$static.eventsToSink == -1?$sinkEvents_1(this$static.element, eventBitsToAdd | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= eventBitsToAdd);
}

function Widget(){
}

_ = Widget.prototype = new UIObject;
_.doAttachChildren = function doAttachChildren(){
}
;
_.doDetachChildren = function doDetachChildren(){
}
;
_.fireEvent = function fireEvent_1(event_0){
  !!this.handlerManager && $fireEvent(this.handlerManager, event_0);
}
;
_.getClass$ = function getClass_120(){
  return Lcom_google_gwt_user_client_ui_Widget_2_classLit;
}
;
_.isAttached = function isAttached(){
  return this.attached;
}
;
_.onAttach = function onAttach(){
  $onAttach(this);
}
;
_.onBrowserEvent_0 = function onBrowserEvent_1(event_0){
  $onBrowserEvent_0(this, event_0);
}
;
_.onDetach = function onDetach(){
  $onDetach(this);
}
;
_.onLoad = function onLoad(){
}
;
_.onUnload = function onUnload(){
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
_.attached = false;
_.eventsToSink = 0;
_.handlerManager = null;
_.parent_0 = null;
function $cellConsumesEventType(cell, eventType){
  var consumedEvents;
  consumedEvents = cell.consumedEvents;
  return !!consumedEvents && consumedEvents.coll.contains(eventType);
}

function $checkRowBounds(this$static, row){
  if (!(row >= 0 && row < $getVisibleItemCount(this$static.presenter))) {
    throw new IndexOutOfBoundsException_1('Row index: ' + row + ', Row size: ' + $getCurrentState(this$static.presenter).rowCount);
  }
}

function $replaceChildren(this$static, start, html){
  var newChildren;
  newChildren = $convertToSectionElement(TABLE_IMPL, this$static, 'tbody', html);
  replaceChildren(this$static.tbody, newChildren, start);
}

function $setFocusable(this$static, elem, focusable){
  if (focusable) {
    elem.tabIndex = this$static.tabIndex_0;
  }
   else {
    elem.tabIndex = -1;
    elem.removeAttribute('tabIndex');
    elem.removeAttribute('accessKey');
  }
}

function replaceChildren(childContainer, newChildren, start){
  var childCount, count, i, nextSibling, toReplace;
  childCount = childContainer.childNodes.length;
  toReplace = null;
  start < childCount && (toReplace = childContainer.childNodes[start]);
  count = newChildren.childNodes.length;
  for (i = 0; i < count; ++i) {
    if (!toReplace) {
      childContainer.appendChild(newChildren.childNodes[0]);
    }
     else {
      nextSibling = $getNextSiblingElement(toReplace);
      childContainer.replaceChild(newChildren.childNodes[0], toReplace);
      toReplace = nextSibling;
    }
  }
}

function AbstractHasData(){
}

_ = AbstractHasData.prototype = new Widget;
_.getClass$ = function getClass_121(){
  return Lcom_google_gwt_user_cellview_client_AbstractHasData_2_classLit;
}
;
_.onBrowserEvent_0 = function onBrowserEvent_2(event_0){
  var eventTarget, eventType, keyCode;
  !impl && (impl = new CellBasedWidgetImplStandard_0);
  if (this.isRefreshing) {
    return;
  }
  eventTarget = event_0.target;
  if (!is_0(eventTarget) || !$isOrHasChild(this.element, eventTarget)) {
    return;
  }
  $onBrowserEvent_0(this, event_0);
  eventType = event_0.type;
  if ($equals_2('focus', eventType)) {
    this.isFocused = true;
    $onFocus(this);
  }
   else if ($equals_2('blur', eventType)) {
    this.isFocused = false;
    $onBlur(this);
  }
   else if ($equals_2('keydown', eventType) && !this.cellIsEditing) {
    this.isFocused = true;
    keyCode = event_0.keyCode || 0;
    switch (keyCode) {
      case 40:
        $keyboardNext(this.presenter);
        event_0.preventDefault();
        return;
      case 38:
        $keyboardPrev(this.presenter);
        event_0.preventDefault();
        return;
      case 34:
        $keyboardNextPage(this.presenter);
        event_0.preventDefault();
        return;
      case 33:
        $keyboardPrevPage(this.presenter);
        event_0.preventDefault();
        return;
      case 36:
        $keyboardHome(this.presenter);
        event_0.preventDefault();
        return;
      case 35:
        $keyboardEnd(this.presenter);
        event_0.preventDefault();
        return;
      case 32:
        event_0.preventDefault();
        return;
    }
  }
  $onBrowserEvent2(this, event_0);
}
;
_.onUnload = function onUnload_0(){
  this.isFocused = false;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
_.isFocused = false;
_.isRefreshing = false;
_.presenter = null;
_.tabIndex_0 = 0;
function $replaceAllChildren(this$static, html, stealFocus){
  this$static.hasData.isFocused = this$static.hasData.isFocused || stealFocus;
  this$static.wasFocused = this$static.hasData.isFocused;
  this$static.hasData.isRefreshing = true;
  $replaceAllChildren_0(this$static.hasData, html);
  this$static.hasData.isRefreshing = false;
  $fireEvent_1(this$static.hasData, new AbstractHasData$View$2_0(unmodifiableList($getCurrentState(this$static.hasData.presenter).rowData)));
}

function $replaceChildren_0(this$static, start, html, stealFocus){
  this$static.hasData.isFocused = this$static.hasData.isFocused || stealFocus;
  this$static.wasFocused = this$static.hasData.isFocused;
  this$static.hasData.isRefreshing = true;
  $replaceChildren(this$static.hasData, start, html);
  this$static.hasData.isRefreshing = false;
  $fireEvent_1(this$static.hasData, new AbstractHasData$View$2_0(unmodifiableList($getCurrentState(this$static.hasData.presenter).rowData)));
}

function $resetFocus(this$static){
  this$static.wasFocused && (!impl && (impl = new CellBasedWidgetImplStandard_0) , $execute_0(new AbstractHasData$View$1_0(this$static)));
}

function $setKeyboardSelected(this$static, index, seleted, stealFocus){
  this$static.hasData.isFocused = this$static.hasData.isFocused || stealFocus;
  $setKeyboardSelected_0(this$static.hasData, index, seleted, stealFocus);
}

function $setLoadingState(this$static, state){
  this$static.hasData.isRefreshing = true;
  $setLoadingIconVisible(this$static.hasData, state == 0);
  this$static.hasData.isRefreshing = false;
}

function AbstractHasData$View_0(hasData){
  this.hasData = hasData;
}

function AbstractHasData$View(){
}

_ = AbstractHasData$View_0.prototype = AbstractHasData$View.prototype = new Object_0;
_.getClass$ = function getClass_122(){
  return Lcom_google_gwt_user_cellview_client_AbstractHasData$View_2_classLit;
}
;
_.castableTypeMap$ = {};
_.hasData = null;
_.wasFocused = false;
function $execute_0(this$static){
  var elem;
  if (!$resetFocusOnCell(this$static.this$1.hasData)) {
    elem = $getKeyboardSelectedElement(this$static.this$1.hasData);
    !!elem && (elem.focus() , undefined);
  }
}

function AbstractHasData$View$1_0(this$1){
  this.this$1 = this$1;
}

function AbstractHasData$View$1(){
}

_ = AbstractHasData$View$1_0.prototype = AbstractHasData$View$1.prototype = new Object_0;
_.execute_0 = function execute_4(){
  $execute_0(this);
}
;
_.getClass$ = function getClass_123(){
  return Lcom_google_gwt_user_cellview_client_AbstractHasData$View$1_2_classLit;
}
;
_.castableTypeMap$ = {19:1};
_.this$1 = null;
function AbstractHasData$View$2_0($anonymous0){
  this.value = $anonymous0;
}

function AbstractHasData$View$2(){
}

_ = AbstractHasData$View$2_0.prototype = AbstractHasData$View$2.prototype = new ValueChangeEvent;
_.getClass$ = function getClass_124(){
  return Lcom_google_gwt_user_cellview_client_AbstractHasData$View$2_2_classLit;
}
;
_.castableTypeMap$ = {};
function $isFocusable(this$static, elem){
  return $containsKey(this$static.focusableTypes.map, elem.tagName.toLowerCase()) || elem.tabIndex >= 0;
}

function $sinkEvents_0(this$static, widget, typeNames){
  var eventsToSink, typeInt, typeName, typeName$iterator, outerIter, entry;
  if (!typeNames) {
    return;
  }
  eventsToSink = 0;
  for (typeName$iterator = (outerIter = $keySet(typeNames.map).val$entrySet.iterator_0() , new AbstractMap$1$1_0(outerIter)); typeName$iterator.val$outerIter.hasNext();) {
    typeName = dynamicCast((entry = dynamicCast(typeName$iterator.val$outerIter.next_0(), 22) , entry.getKey()), 1);
    typeInt = $sinkEvent(this$static, widget, typeName);
    typeInt > 0 && (eventsToSink |= typeInt);
  }
  eventsToSink > 0 && (widget.eventsToSink == -1?$sinkEvents_1(widget.element, eventsToSink | (widget.element.__eventBits || 0)):(widget.eventsToSink |= eventsToSink));
}

function CellBasedWidgetImpl(){
}

_ = CellBasedWidgetImpl.prototype = new Object_0;
_.getClass$ = function getClass_125(){
  return Lcom_google_gwt_user_cellview_client_CellBasedWidgetImpl_2_classLit;
}
;
_.castableTypeMap$ = {};
_.focusableTypes = null;
var impl = null;
function $initEventSystem(){
  dispatchNonBubblingEvent = $entry(function(evt){
    handleNonBubblingEvent(evt);
  }
  );
}

function $sinkEvent(this$static, widget, typeName){
  var attr, elem;
  if ($containsKey(this$static.nonBubblingEvents.map, typeName)) {
    !dispatchNonBubblingEvent && $initEventSystem();
    elem = widget.element;
    attr = '__gwtCellBasedWidgetImplDispatching' + typeName;
    if (!$equals_2('true', elem.getAttribute(attr) || '')) {
      elem.setAttribute(attr, 'true');
      elem.addEventListener(typeName, dispatchNonBubblingEvent, true);
    }
    return -1;
  }
   else {
    return $eventGetTypeInt(typeName);
  }
}

function CellBasedWidgetImplStandard_0(){
  this.focusableTypes = new HashSet_0;
  $add_6(this.focusableTypes, 'select');
  $add_6(this.focusableTypes, 'input');
  $add_6(this.focusableTypes, 'textarea');
  $add_6(this.focusableTypes, 'option');
  $add_6(this.focusableTypes, 'button');
  $add_6(this.focusableTypes, 'label');
  this.nonBubblingEvents = new HashSet_0;
  $add_6(this.nonBubblingEvents, 'focus');
  $add_6(this.nonBubblingEvents, 'blur');
  $add_6(this.nonBubblingEvents, 'load');
  $add_6(this.nonBubblingEvents, 'error');
}

function handleNonBubblingEvent(event_0){
  var eventTarget, listener, target;
  eventTarget = event_0.target;
  if (!is_0(eventTarget)) {
    return;
  }
  target = eventTarget;
  listener = target.__listener;
  while (!!target && !listener) {
    target = $getParentElement(target);
    listener = !target?null:target.__listener;
  }
  !!listener && (dispatchEvent_2(event_0, target, listener) , undefined);
}

function CellBasedWidgetImplStandard(){
}

_ = CellBasedWidgetImplStandard_0.prototype = CellBasedWidgetImplStandard.prototype = new CellBasedWidgetImpl;
_.getClass$ = function getClass_126(){
  return Lcom_google_gwt_user_cellview_client_CellBasedWidgetImplStandard_2_classLit;
}
;
_.castableTypeMap$ = {};
_.nonBubblingEvents = null;
var dispatchNonBubblingEvent = null;
function $addColumn(this$static, col, headerString){
  $insertColumn(this$static, this$static.columns.size, col, new TextHeader_0(headerString));
}

function $checkColumnBounds(this$static, col){
  if (col < 0 || col >= this$static.columns.size) {
    throw new IndexOutOfBoundsException_1('Column index is out of bounds: ' + col);
  }
}

function $createHeaders(this$static, isFooter){
  var className, classesBuilder, columnCount, curColumn, firstColumnStyle, hasHeader, header, headerBuilder, headerHtml, lastColumnStyle, prevColspan, prevHeader, sb, section, theHeaders;
  theHeaders = isFooter?this$static.footers:this$static.headers;
  section = isFooter?this$static.tfoot:this$static.thead;
  className = isFooter?'GALD-WONC':'GALD-WOOC';
  firstColumnStyle = ' ' + (isFooter?'GALD-WOLC':'GALD-WOMC');
  lastColumnStyle = ' ' + (isFooter?'GALD-WOFD':'GALD-WOGD');
  hasHeader = false;
  sb = new SafeHtmlBuilder_0;
  $append_7(sb.sb, '<tr>');
  columnCount = this$static.columns.size;
  if (columnCount > 0) {
    this$static.sortList.infos.size == 0?null:throwClassCastExceptionUnlessNull($get_4(this$static.sortList.infos, 0));
    prevHeader = dynamicCast((checkIndex(0, theHeaders.size) , theHeaders.array[0]), 26);
    dynamicCast($get_4(this$static.columns, 0), 27);
    prevColspan = 1;
    classesBuilder = new StringBuilder_1(className);
    classesBuilder.impl.string += firstColumnStyle;
    for (curColumn = 1; curColumn < columnCount; ++curColumn) {
      header = dynamicCast((checkIndex(curColumn, theHeaders.size) , theHeaders.array[curColumn]), 26);
      if (header != prevHeader) {
        headerHtml = ($clinit_226() , EMPTY_SAFE_HTML);
        if (prevHeader) {
          hasHeader = true;
          headerBuilder = new SafeHtmlBuilder_0;
          new Cell$Context_0(prevHeader);
          $render(prevHeader.text, headerBuilder);
          headerHtml = new SafeHtmlString_0(headerBuilder.sb.impl.string);
        }
        $append_1(sb, $th(prevColspan, classesBuilder.impl.string, headerHtml));
        prevHeader = header;
        prevColspan = 1;
        classesBuilder = new StringBuilder_1(className);
      }
       else {
        ++prevColspan;
      }
      dynamicCast($get_4(this$static.columns, curColumn), 27);
    }
    headerHtml = ($clinit_226() , EMPTY_SAFE_HTML);
    if (prevHeader) {
      hasHeader = true;
      headerBuilder = new SafeHtmlBuilder_0;
      new Cell$Context_0(prevHeader);
      $render(prevHeader.text, headerBuilder);
      headerHtml = new SafeHtmlString_0(headerBuilder.sb.impl.string);
    }
    classesBuilder.impl.string += ' ';
    classesBuilder.impl.string += lastColumnStyle;
    $append_1(sb, $th(prevColspan, classesBuilder.impl.string, headerHtml));
  }
  $append_7(sb.sb, '<\/tr>');
  $replaceAllRows(this$static, section, new SafeHtmlString_0(sb.sb.impl.string));
  section.style.display = hasHeader?'':'none';
}

function $ensureTableColElement(this$static, index){
  var i;
  for (i = this$static.colgroup.childNodes.length; i <= index; ++i) {
    this$static.colgroup.appendChild($doc.createElement('col'));
  }
  return this$static.colgroup.childNodes[index];
}

--></script>
<script><!--
function $findInteractiveColumn(this$static, start, reverse){
  var i, consumedEvents, consumedEvents_0, consumedEvents_1, consumedEvents_2;
  if (this$static.isInteractive) {
    if (reverse) {
      for (i = start - 1; i >= 0; --i) {
        if (consumedEvents = dynamicCast($get_4(this$static.columns, i), 27).cell.consumedEvents , !!consumedEvents && consumedEvents.coll.size_0() > 0) {
          return i;
        }
      }
      for (i = this$static.columns.size - 1; i >= start; --i) {
        if (consumedEvents_0 = dynamicCast($get_4(this$static.columns, i), 27).cell.consumedEvents , !!consumedEvents_0 && consumedEvents_0.coll.size_0() > 0) {
          return i;
        }
      }
    }
     else {
      for (i = start + 1; i < this$static.columns.size; ++i) {
        if (consumedEvents_1 = dynamicCast($get_4(this$static.columns, i), 27).cell.consumedEvents , !!consumedEvents_1 && consumedEvents_1.coll.size_0() > 0) {
          return i;
        }
      }
      for (i = 0; i <= start; ++i) {
        if (consumedEvents_2 = dynamicCast($get_4(this$static.columns, i), 27).cell.consumedEvents , !!consumedEvents_2 && consumedEvents_2.coll.size_0() > 0) {
          return i;
        }
      }
    }
  }
   else {
    return 0;
  }
  return 0;
}

function $findNearestParentCell(this$static, elem){
  var tagName;
  while (!!elem && elem != this$static.table) {
    tagName = elem.tagName;
    if ($equalsIgnoreCase('td', tagName) || $equalsIgnoreCase('th', tagName)) {
      return elem;
    }
    elem = $getParentElement(elem);
  }
  return null;
}

function $fireEventToCell(this$static, event_0, eventType, tableCell, value, context, column){
  var cell, parentElem, consumedEvents;
  cell = column.cell;
  if (consumedEvents = cell.consumedEvents , !!consumedEvents && consumedEvents.coll.contains(eventType)) {
    column.getValue(value);
    parentElem = $getFirstChildElement(tableCell);
    column.cell.onBrowserEvent(context, parentElem, column.getValue(value), event_0, null);
    this$static.cellIsEditing = false;
  }
}

function $getKeyboardSelectedElement(this$static){
  var rowIndex, rows, td, tr;
  rowIndex = $getKeyboardSelectedRow(this$static.presenter);
  rows = this$static.tbody.rows;
  if (rowIndex >= 0 && rowIndex < rows.length && this$static.columns.size > 0) {
    tr = rows[rowIndex];
    td = tr.cells[this$static.keyboardSelectedColumn];
    return $getFirstChildElement(td);
  }
  return null;
}

function $handleKey(this$static, event_0){
  var keyCode, nextColumn, oldRow, presenter, prevColumn;
  presenter = this$static.presenter;
  oldRow = $getKeyboardSelectedRow(this$static.presenter);
  $clinit_193();
  keyCode = event_0.keyCode || 0;
  if (keyCode == 39) {
    nextColumn = $findInteractiveColumn(this$static, this$static.keyboardSelectedColumn, false);
    if (nextColumn <= this$static.keyboardSelectedColumn) {
      if ($hasKeyboardNext(presenter)) {
        this$static.keyboardSelectedColumn = nextColumn;
        $hasKeyboardNext(presenter) && $setKeyboardSelectedRow(presenter, (!presenter.pendingState?presenter.state:presenter.pendingState).keyboardSelectedRow + 1, true, false);
        event_0.preventDefault();
        return true;
      }
    }
     else {
      this$static.keyboardSelectedColumn = nextColumn;
      $setKeyboardSelectedRow(this$static.presenter, oldRow, true, true);
      event_0.preventDefault();
      return true;
    }
  }
   else if (keyCode == 37) {
    prevColumn = $findInteractiveColumn(this$static, this$static.keyboardSelectedColumn, true);
    if (prevColumn >= this$static.keyboardSelectedColumn) {
      if ($hasKeyboardPrev(presenter)) {
        this$static.keyboardSelectedColumn = prevColumn;
        $hasKeyboardPrev(presenter) && $setKeyboardSelectedRow(presenter, (!presenter.pendingState?presenter.state:presenter.pendingState).keyboardSelectedRow - 1, true, false);
        event_0.preventDefault();
        return true;
      }
    }
     else {
      this$static.keyboardSelectedColumn = prevColumn;
      $setKeyboardSelectedRow(this$static.presenter, oldRow, true, true);
      event_0.preventDefault();
      return true;
    }
  }
  return false;
}

function $insertColumn(this$static, beforeIndex, col, header){
  var cellEvents, consumedEvents, headerEvents, wasinteractive;
  beforeIndex != this$static.columns.size && $checkColumnBounds(this$static, beforeIndex);
  $add_5(this$static.headers, beforeIndex, header);
  $add_5(this$static.footers, beforeIndex, null);
  $add_5(this$static.columns, beforeIndex, col);
  wasinteractive = this$static.isInteractive;
  $updateDependsOnSelection(this$static);
  !wasinteractive && this$static.isInteractive && (this$static.keyboardSelectedColumn = beforeIndex);
  consumedEvents = new HashSet_0;
  cellEvents = col.cell.consumedEvents;
  !!cellEvents && consumedEvents.addAll(cellEvents);
  if (header) {
    headerEvents = header.cell.consumedEvents;
    !!headerEvents && consumedEvents.addAll(headerEvents);
  }
  $sinkEvents_0((!impl && (impl = new CellBasedWidgetImplStandard_0) , impl), this$static, consumedEvents);
  $refreshColumnWidths(this$static);
  $redraw(this$static.presenter);
}

function $onBlur(this$static){
  var elem, td, tr;
  elem = $getKeyboardSelectedElement(this$static);
  if (elem) {
    td = $getParentElement(elem);
    tr = $getParentElement(td);
    $removeClassName(td, 'GALD-WOBD');
    $setRowStyleName(tr, 'GALD-WOCD', 'GALD-WODD', false);
  }
}

function $onBrowserEvent2(this$static, event_0){
  var col, context, eventTarget, eventType, footer, header, isClick, isFocusable, isSelectionHandled, row, sectionElem, tableCell, target, trElem, value;
  eventTarget = event_0.target;
  if (!is_0(eventTarget)) {
    return;
  }
  target = event_0.target;
  eventType = event_0.type;
  if ($equals_2('keydown', eventType) && !this$static.cellIsEditing && 0 != (this$static.presenter , 1)) {
    if ($handleKey(this$static, event_0)) {
      return;
    }
  }
  tableCell = $findNearestParentCell(this$static, target);
  if (!tableCell) {
    return;
  }
  trElem = $getParentElement(tableCell);
  if (!trElem) {
    return;
  }
  sectionElem = $getParentElement(trElem);
  if (!sectionElem) {
    return;
  }
  isClick = $equals_2('click', eventType);
  col = tableCell.cellIndex;
  if (sectionElem == this$static.thead) {
    header = dynamicCast($get_4(this$static.headers, col), 26);
    if (header) {
      if ($cellConsumesEventType(header.cell, eventType)) {
        context = new Cell$Context_0(header);
        $onBrowserEvent(header.cell, context, tableCell, header.text, event_0, header.updater);
      }
      dynamicCast($get_4(this$static.columns, col), 27);
    }
  }
   else if (sectionElem == this$static.tfoot) {
    footer = dynamicCast($get_4(this$static.footers, col), 26);
    if (!!footer && $cellConsumesEventType(footer.cell, eventType)) {
      context = new Cell$Context_0(footer);
      $onBrowserEvent(footer.cell, context, tableCell, footer.text, event_0, footer.updater);
    }
  }
   else if (sectionElem == this$static.tbody) {
    row = trElem.sectionRowIndex;
    if ($equals_2('mouseover', eventType)) {
      !!this$static.hoveringRow && $isOrHasChild(this$static.tbody, this$static.hoveringRow) && $setRowStyleName(this$static.hoveringRow, 'GALD-WOPC', 'GALD-WOAD', false);
      this$static.hoveringRow = trElem;
      $setRowStyleName(this$static.hoveringRow, 'GALD-WOPC', 'GALD-WOAD', true);
    }
     else if ($equals_2('mouseout', eventType) && !!this$static.hoveringRow) {
      $setRowStyleName(this$static.hoveringRow, 'GALD-WOPC', 'GALD-WOAD', false);
      this$static.hoveringRow = null;
    }
     else if (isClick && (this$static.presenter.state.keyboardSelectedRow != row || this$static.keyboardSelectedColumn != col)) {
      isFocusable = (!impl && (impl = new CellBasedWidgetImplStandard_0) , $isFocusable(impl, target));
      this$static.isFocused = this$static.isFocused || isFocusable;
      this$static.keyboardSelectedColumn = col;
      $setKeyboardSelectedRow(this$static.presenter, row, !isFocusable, true);
    }
    if (!(row >= 0 && row < $getCurrentState(this$static.presenter).rowData.size)) {
      return;
    }
    isSelectionHandled = this$static.handlesSelection || 2 == (this$static.presenter , 1);
    value = ($checkRowBounds(this$static, row) , $getVisibleItem(this$static.presenter, row));
    context = new Cell$Context_0((row + $getVisibleRange(this$static.presenter).start , this$static.presenter));
    fire_5(this$static, this$static, this$static.cellIsEditing, isSelectionHandled);
    $fireEventToCell(this$static, event_0, eventType, tableCell, value, context, dynamicCast($get_4(this$static.columns, col), 27));
  }
}

function $onFocus(this$static){
  var elem, td, tr;
  elem = $getKeyboardSelectedElement(this$static);
  if (elem) {
    td = $getParentElement(elem);
    tr = $getParentElement(td);
    $addClassName(td, 'GALD-WOBD');
    $setRowStyleName(tr, 'GALD-WOCD', 'GALD-WODD', true);
  }
}

function $refreshColumnWidths(this$static){
  var colCount, column, columnCount, i, width;
  columnCount = this$static.columns.size;
  for (i = 0; i < columnCount; ++i) {
    column = dynamicCast($get_4(this$static.columns, i), 27);
    width = dynamicCast($get_3(this$static.columnWidths, column), 1);
    width == null?($ensureTableColElement(this$static, i).style['width'] = '' , undefined):($ensureTableColElement(this$static, i).style['width'] = width , undefined);
  }
  colCount = this$static.colgroup.childNodes.length;
  for (i = columnCount; i < colCount; ++i) {
    $ensureTableColElement(this$static, i).style['width'] = 0 + ($clinit_81() , 'px');
  }
}

function $renderRowValues(this$static, sb, values, start){
  var cellBuilder, column, column$iterator, columnCount, contents, context, curColumn, end, i, isEven, isKeyboardSelected, keyboardSelectedRow, length_0, tdClasses, trBuilder, trClasses, value, sb_0;
  $createHeaders(this$static, false);
  $createHeaders(this$static, true);
  keyboardSelectedRow = $getKeyboardSelectedRow(this$static.presenter) + $getVisibleRange(this$static.presenter).start;
  columnCount = this$static.columns.size;
  length_0 = values.size_0();
  end = start + length_0;
  for (i = start; i < end; ++i) {
    value = values.get_0(i - start);
    isEven = i % 2 == 0;
    isKeyboardSelected = i == keyboardSelectedRow && this$static.isFocused;
    trClasses = isEven?'GALD-WOIC':'GALD-WOID';
    isKeyboardSelected && (trClasses += ' GALD-WOCD');
    trBuilder = new SafeHtmlBuilder_0;
    curColumn = 0;
    for (column$iterator = new AbstractList$IteratorImpl_0(this$static.columns); column$iterator.i < column$iterator.this$0_0.size_0();) {
      column = dynamicCast($next_4(column$iterator), 27);
      tdClasses = 'GALD-WOHC';
      tdClasses += isEven?' GALD-WOJC':' GALD-WOJD';
      curColumn == 0 && (tdClasses += ' GALD-WOKC');
      isKeyboardSelected && (tdClasses += ' GALD-WODD');
      curColumn == columnCount - 1 && (tdClasses += ' GALD-WOED');
      cellBuilder = new SafeHtmlBuilder_0;
      if (value != null) {
        context = new Cell$Context_0(this$static.presenter);
        column.cell.render(context, column.getValue(value), cellBuilder);
      }
      $clinit_226();
      if (i == keyboardSelectedRow && curColumn == this$static.keyboardSelectedColumn) {
        this$static.isFocused && (tdClasses += ' GALD-WOBD');
        contents = $divFocusable(this$static.tabIndex_0, new SafeHtmlString_0(cellBuilder.sb.impl.string));
      }
       else {
        contents = $div(new SafeHtmlString_0(cellBuilder.sb.impl.string));
      }
      $append_1(trBuilder, (sb_0 = $append_7($append_7($append_7($append_7($append_7(new StringBuilder_0, '<td class="'), htmlEscape(tdClasses)), '">'), contents.html), '<\/td>') , new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb_0.impl.string)));
      ++curColumn;
    }
    $append_1(sb, $tr(trClasses, new SafeHtmlString_0(trBuilder.sb.impl.string)));
  }
}

function $replaceAllChildren_0(this$static, html){
  $replaceAllRows(this$static, this$static.tbody, (!impl && (impl = new CellBasedWidgetImplStandard_0) , html));
}

function $resetFocusOnCell(this$static){
  var column, row, value;
  row = $getKeyboardSelectedRow(this$static.presenter);
  if (row >= 0 && row < $getCurrentState(this$static.presenter).rowData.size && this$static.columns.size > 0) {
    column = dynamicCast($get_4(this$static.columns, this$static.keyboardSelectedColumn), 27);
    return $getKeyboardSelectedElement(this$static) , value = ($checkRowBounds(this$static, row) , $getVisibleItem(this$static.presenter, row)) , this$static.presenter , column.getValue(value) , row + $getVisibleRange(this$static.presenter).start , false;
  }
  return false;
}

function $setKeyboardSelected_0(this$static, index, selected, stealFocus){
  var cellParent, cells, i, td, tr, updatedSelection, rows;
  if (!(index >= 0 && index < $getCurrentState(this$static.presenter).rowData.size) || this$static.columns.size == 0) {
    return;
  }
  tr = ($flush(this$static.presenter) , $checkRowBounds(this$static, index) , rows = this$static.tbody.rows , rows.length > index?rows[index]:null);
  updatedSelection = !selected || this$static.isFocused || stealFocus;
  $setRowStyleName(tr, 'GALD-WOCD', 'GALD-WODD', selected);
  cells = tr.cells;
  for (i = 0; i < cells.length; ++i) {
    td = cells[i];
    setStyleName_0(td, 'GALD-WOBD', updatedSelection && selected && i == this$static.keyboardSelectedColumn);
    cellParent = $getFirstChildElement(td);
    $setFocusable(this$static, cellParent, selected && i == this$static.keyboardSelectedColumn);
  }
  if (selected && stealFocus && !this$static.cellIsEditing) {
    td = tr.cells[this$static.keyboardSelectedColumn];
    cellParent = $getFirstChildElement(td);
    !impl && (impl = new CellBasedWidgetImplStandard_0);
    (new CellTable$2_0(cellParent)).val$cellParent.focus();
  }
}

function $setLoadingIconVisible(this$static, visible){
  var td;
  visible?(this$static.tbody.style['display'] = ($clinit_70() , 'none') , undefined):(this$static.tbody.style['display'] = '' , undefined);
  td = this$static.tbodyLoading.rows[0].cells[0];
  td.colSpan = max(1, this$static.columns.size);
  this$static.tbodyLoading.style.display = visible?'':'none';
}

function $setRowStyleName(tr, rowStyle, cellStyle, add){
  var cells, i;
  setStyleName_0(tr, rowStyle, add);
  cells = tr.cells;
  for (i = 0; i < cells.length; ++i) {
    setStyleName_0(cells[i], cellStyle, add);
  }
}

function $updateDependsOnSelection(this$static){
  var column, column$iterator, consumedEvents;
  this$static.handlesSelection = false;
  this$static.isInteractive = false;
  for (column$iterator = new AbstractList$IteratorImpl_0(this$static.columns); column$iterator.i < column$iterator.this$0_0.size_0();) {
    column = dynamicCast($next_4(column$iterator), 27);
    (consumedEvents = column.cell.consumedEvents , !!consumedEvents && consumedEvents.coll.size_0() > 0) && (this$static.isInteractive = true);
  }
}

function CellTable_0(){
  CellTable_2.call(this, !DEFAULT_RESOURCES && (DEFAULT_RESOURCES = new CellTable_Resources_default_InlineClientBundleGenerator_0));
}

function CellTable_2(){
  var eventTypes, td, tr, eventTypes_0, old, old_0, old_1, old_2, old_3, old_4, sb, old_5, old_6;
  this.element = $doc.createElement('table');
  this.presenter = new HasDataPresenter_0(new AbstractHasData$View_0(this));
  eventTypes_0 = new HashSet_0;
  old = $put_0(eventTypes_0.map, 'focus', eventTypes_0);
  old_0 = $put_0(eventTypes_0.map, 'blur', eventTypes_0);
  old_1 = $put_0(eventTypes_0.map, 'keydown', eventTypes_0);
  old_2 = $put_0(eventTypes_0.map, 'keyup', eventTypes_0);
  old_3 = $put_0(eventTypes_0.map, 'click', eventTypes_0);
  old_4 = $put_0(eventTypes_0.map, 'mousedown', eventTypes_0);
  $sinkEvents_0((!impl && (impl = new CellBasedWidgetImplStandard_0) , impl), this, eventTypes_0);
  $addHandler_1(this.presenter.view.hasData, new DefaultSelectionEventManager_0, (!TYPE_9 && (TYPE_9 = new GwtEvent$Type_0) , TYPE_9));
  this.columns = new ArrayList_0;
  this.columnWidths = new HashMap_0;
  this.footers = new ArrayList_0;
  this.headers = new ArrayList_0;
  !TABLE_IMPL && (TABLE_IMPL = new CellTable$Impl_0);
  !template && (template = new CellTable_TemplateImpl_0);
  this.style_0 = ($clinit_248() , cellTableStyle);
  $ensureInjected(this.style_0);
  this.sortList = new ColumnSortList_0;
  this.table = this.element;
  this.table.cellSpacing = 0;
  this.colgroup = $doc.createElement('colgroup');
  this.table.appendChild(this.colgroup);
  this.thead = this.table.createTHead();
  if (this.table.tBodies.length > 0) {
    this.tbody = this.table.tBodies[0];
  }
   else {
    this.tbody = $doc.createElement('tbody');
    this.table.appendChild(this.tbody);
  }
  this.table.appendChild(this.tbodyLoading = $doc.createElement('tbody'));
  this.tfoot = this.table.createTFoot();
  this.element['className'] = 'GALD-WOPD';
  td = $doc.createElement('td');
  tr = $doc.createElement('tr');
  this.tbodyLoading.appendChild(tr);
  tr.appendChild(td);
  td.align = 'center';
  td.innerHTML = (sb = $append_7($append_7($append_7(new StringBuilder_0, '<div class="'), htmlEscape('GALD-WOHD')), '"><\/div>') , new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb.impl.string)).html || '';
  $setLoadingIconVisible(this, false);
  eventTypes = new HashSet_0;
  old_5 = $put_0(eventTypes.map, 'mouseover', eventTypes);
  old_6 = $put_0(eventTypes.map, 'mouseout', eventTypes);
  $sinkEvents_0((!impl && (impl = new CellBasedWidgetImplStandard_0) , impl), this, eventTypes);
}

function CellTable(){
}

_ = CellTable_0.prototype = CellTable.prototype = new AbstractHasData;
_.getClass$ = function getClass_127(){
  return Lcom_google_gwt_user_cellview_client_CellTable_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
_.cellIsEditing = false;
_.colgroup = null;
_.handlesSelection = false;
_.hoveringRow = null;
_.isInteractive = false;
_.keyboardSelectedColumn = 0;
_.sortList = null;
_.style_0 = null;
_.table = null;
_.tbody = null;
_.tbodyLoading = null;
_.tfoot = null;
_.thead = null;
var DEFAULT_RESOURCES = null, TABLE_IMPL = null, template = null;
function CellTable$2_0(val$cellParent){
  this.val$cellParent = val$cellParent;
}

function CellTable$2(){
}

_ = CellTable$2_0.prototype = CellTable$2.prototype = new Object_0;
_.execute_0 = function execute_5(){
  this.val$cellParent.focus();
}
;
_.getClass$ = function getClass_128(){
  return Lcom_google_gwt_user_cellview_client_CellTable$2_2_classLit;
}
;
_.castableTypeMap$ = {19:1};
_.val$cellParent = null;
function $convertToSectionElement(this$static, table, sectionTag, rowHtml){
  var tableElem, sb, sb_0, sb_1;
  this$static.tmpElem.__listener = table;
  sectionTag = sectionTag.toLowerCase();
  if ($equals_2('tbody', sectionTag)) {
    this$static.tmpElem.innerHTML = (sb = $append_7($append_7($append_7(new StringBuilder_0, '<table><tbody>'), rowHtml.html), '<\/tbody><\/table>') , new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb.impl.string)).html || '';
  }
   else if ($equals_2('thead', sectionTag)) {
    this$static.tmpElem.innerHTML = (sb_0 = $append_7($append_7($append_7(new StringBuilder_0, '<table><thead>'), rowHtml.html), '<\/thead><\/table>') , new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb_0.impl.string)).html || '';
  }
   else if ($equals_2('tfoot', sectionTag)) {
    this$static.tmpElem.innerHTML = (sb_1 = $append_7($append_7($append_7(new StringBuilder_0, '<table><tfoot>'), rowHtml.html), '<\/tfoot><\/table>') , new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb_1.impl.string)).html || '';
  }
   else {
    throw new IllegalArgumentException_1('Invalid table section tag: ' + sectionTag);
  }
  tableElem = $getFirstChildElement(this$static.tmpElem);
  this$static.tmpElem.__listener = null;
  if ($equals_2('tbody', sectionTag)) {
    return tableElem.tBodies[0];
  }
   else if ($equals_2('thead', sectionTag)) {
    return tableElem.tHead;
  }
   else if ($equals_2('tfoot', sectionTag)) {
    return tableElem.tFoot;
  }
   else {
    throw new IllegalArgumentException_1('Invalid table section tag: ' + sectionTag);
  }
}

function $replaceAllRows(table, section, html){
  table.attached || (table.element.__listener = table , undefined);
  section.innerHTML = html.html || '';
  table.attached || (table.element.__listener = null , undefined);
}

function CellTable$Impl_0(){
  this.tmpElem = $doc.createElement('div');
}

function CellTable$Impl(){
}

_ = CellTable$Impl_0.prototype = CellTable$Impl.prototype = new Object_0;
_.getClass$ = function getClass_129(){
  return Lcom_google_gwt_user_cellview_client_CellTable$Impl_2_classLit;
}
;
_.castableTypeMap$ = {};
--></script>
<script><!--
function $clinit_248(){
  $clinit_248 = nullMethod;
  new ImageResourcePrototype_0(($clinit_193() , ''), 82, 23);
  new ImageResourcePrototype_0('', 82, 23);
  cellTableLoading = new ImageResourcePrototype_0('', 220, 19);
  new ImageResourcePrototype_0('', 82, 26);
  new ImageResourcePrototype_0('', 11, 7);
  new ImageResourcePrototype_0('', 11, 7);
  cellTableStyle = new CellTable_Resources_default_InlineClientBundleGenerator$1_0;
}

function CellTable_Resources_default_InlineClientBundleGenerator_0(){
  $clinit_248();
}

function CellTable_Resources_default_InlineClientBundleGenerator(){
}

_ = CellTable_Resources_default_InlineClientBundleGenerator_0.prototype = CellTable_Resources_default_InlineClientBundleGenerator.prototype = new Object_0;
_.getClass$ = function getClass_130(){
  return Lcom_google_gwt_user_cellview_client_CellTable_1Resources_1default_1InlineClientBundleGenerator_2_classLit;
}
;
_.castableTypeMap$ = {};
var cellTableLoading = null, cellTableStyle = null;
function $ensureInjected(this$static){
  if (!this$static.injected) {
    this$static.injected = true;
    $clinit_91();
    $push_0(toInject, ($clinit_193() , '.GALD-WONC{border-top:2px solid #6f7277;padding:3px 15px;text-align:left;color:#4b4a4a;text-shadow:#ddf 1px 1px 0;overflow:hidden;}.GALD-WOOC{border-bottom:2px solid #6f7277;padding:3px 15px;text-align:left;color:#4b4a4a;text-shadow:#ddf 1px 1px 0;overflow:hidden;}.GALD-WOHC{padding:2px 15px;overflow:hidden;}.GALD-WOMD{cursor:pointer;cursor:hand;}.GALD-WOMD:hover{color:#6c6b6b;}.GALD-WOIC{background:#fff;}.GALD-WOJC{border:2px solid #fff;}.GALD-WOID{background:#f3f7fb;}.GALD-WOJD{border:2px solid #f3f7fb;}.GALD-WOPC{background:#eee;}.GALD-WOAD{border:2px solid #eee;}.GALD-WOCD{background:#ffc;}.GALD-WODD{border:2px solid #ffc;}.GALD-WOKD{background:#628cd5;color:white;height:auto;overflow:auto;}.GALD-WOLD{border:2px solid #628cd5;}.GALD-WOBD{border:2px solid #d7dde8;}.GALD-WOHD{height:' + ($clinit_248() , cellTableLoading).height_0 + 'px;width:' + cellTableLoading.width_0 + 'px;overflow:hidden;background:url("' + cellTableLoading.url + '") -' + cellTableLoading.left_0 + 'px -' + cellTableLoading.top_0 + 'px  no-repeat;margin:30px;}'));
    schedule();
    return true;
  }
  return false;
}

function CellTable_Resources_default_InlineClientBundleGenerator$1_0(){
}

function CellTable_Resources_default_InlineClientBundleGenerator$1(){
}

_ = CellTable_Resources_default_InlineClientBundleGenerator$1_0.prototype = CellTable_Resources_default_InlineClientBundleGenerator$1.prototype = new Object_0;
_.getClass$ = function getClass_131(){
  return Lcom_google_gwt_user_cellview_client_CellTable_1Resources_1default_1InlineClientBundleGenerator$1_2_classLit;
}
;
_.castableTypeMap$ = {};
_.injected = false;
function $div(arg0){
  var sb;
  sb = $append_7($append_7($append_7(new StringBuilder_0, '<div style="outline:none;">'), arg0.html), '<\/div>');
  return new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb.impl.string);
}

function $divFocusable(arg0, arg1){
  var sb;
  sb = $append_7($append_7($append_7($append_7($append_7(new StringBuilder_0, '<div style="outline:none;" tabindex="'), htmlEscape('' + arg0)), '">'), arg1.html), '<\/div>');
  return new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb.impl.string);
}

function $th(arg0, arg1, arg2){
  var sb;
  sb = $append_7($append_7($append_7($append_7($append_7($append_7($append_7(new StringBuilder_0, '<th colspan="'), htmlEscape('' + arg0)), '" class="'), htmlEscape(arg1)), '">'), arg2.html), '<\/th>');
  return new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb.impl.string);
}

function $tr(arg0, arg1){
  var sb;
  sb = $append_7($append_7($append_7($append_7($append_7(new StringBuilder_0, '<tr onclick="" class="'), htmlEscape(arg0)), '">'), arg1.html), '<\/tr>');
  return new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb.impl.string);
}

function CellTable_TemplateImpl_0(){
}

function CellTable_TemplateImpl(){
}

_ = CellTable_TemplateImpl_0.prototype = CellTable_TemplateImpl.prototype = new Object_0;
_.getClass$ = function getClass_132(){
  return Lcom_google_gwt_user_cellview_client_CellTable_1TemplateImpl_2_classLit;
}
;
_.castableTypeMap$ = {};
function ColumnSortList_0(){
  this.infos = new ArrayList_0;
}

function ColumnSortList(){
}

_ = ColumnSortList_0.prototype = ColumnSortList.prototype = new Object_0;
_.equals$ = function equals_6(obj){
  var other;
  if (obj === this) {
    return true;
  }
   else if (!(obj != null && obj.castableTypeMap$ && !!obj.castableTypeMap$[28])) {
    return false;
  }
  other = dynamicCast(obj, 28);
  return $equals_4(this.infos, other.infos);
}
;
_.getClass$ = function getClass_133(){
  return Lcom_google_gwt_user_cellview_client_ColumnSortList_2_classLit;
}
;
_.hashCode$ = function hashCode_8(){
  return 31 * $hashCode_3(this.infos) + 13;
}
;
_.castableTypeMap$ = {28:1};
function $calculateModifiedRanges(modifiedRows, pageStart, pageEnd){
  var diff, index, index$iterator, maxDiff, rangeEnd0, rangeEnd1, rangeLength0, rangeLength1, rangeStart0, rangeStart1, toRet, outerIter, entry;
  rangeStart0 = -1;
  rangeEnd0 = -1;
  rangeStart1 = -1;
  rangeEnd1 = -1;
  maxDiff = 0;
  for (index$iterator = (outerIter = $keySet(modifiedRows.map).val$entrySet.iterator_0() , new AbstractMap$1$1_0(outerIter)); index$iterator.val$outerIter.hasNext();) {
    index = dynamicCast((entry = dynamicCast(index$iterator.val$outerIter.next_0(), 22) , entry.getKey()), 29).value;
    if (index < pageStart || index >= pageEnd) {
      continue;
    }
     else if (rangeStart0 == -1) {
      rangeStart0 = index;
      rangeEnd0 = index;
    }
     else if (rangeStart1 == -1) {
      maxDiff = index - rangeEnd0;
      rangeStart1 = index;
      rangeEnd1 = index;
    }
     else {
      diff = index - rangeEnd1;
      if (diff > maxDiff) {
        rangeEnd0 = rangeEnd1;
        rangeStart1 = index;
        rangeEnd1 = index;
        maxDiff = diff;
      }
       else {
        rangeEnd1 = index;
      }
    }
  }
  rangeEnd0 += 1;
  rangeEnd1 += 1;
  if (rangeStart1 == rangeEnd0) {
    rangeEnd0 = rangeEnd1;
    rangeStart1 = -1;
    rangeEnd1 = -1;
  }
  toRet = new ArrayList_0;
  if (rangeStart0 != -1) {
    rangeLength0 = rangeEnd0 - rangeStart0;
    $add_4(toRet, new Range_1(rangeStart0, rangeLength0));
  }
  if (rangeStart1 != -1) {
    rangeLength1 = rangeEnd1 - rangeStart1;
    $add_4(toRet, new Range_1(rangeStart1, rangeLength1));
  }
  return toRet;
}

function $ensurePendingState(this$static){
  !this$static.pendingState && (this$static.pendingState = new HasDataPresenter$PendingState_0(this$static.state));
  this$static.pendingStateCommand = new HasDataPresenter$2_0(this$static);
  $scheduleFinally(($clinit_52() , INSTANCE), this$static.pendingStateCommand);
  return this$static.pendingState;
}

function $findIndexOfBestMatch(state, value, initialIndex){
  var bestMatchDiff, bestMatchIndex, curValue, diff, i, rowDataCount;
  if (value == null) {
    return -1;
  }
  bestMatchIndex = -1;
  bestMatchDiff = 2147483647;
  rowDataCount = state.rowData.size;
  for (i = 0; i < rowDataCount; ++i) {
    curValue = $get_4(state.rowData, i);
    if (equals__devirtual$(value, curValue)) {
      diff = initialIndex - i < 0?-(initialIndex - i):initialIndex - i;
      if (diff < bestMatchDiff) {
        bestMatchIndex = i;
        bestMatchDiff = diff;
      }
    }
  }
  return bestMatchIndex;
}

function $flush(this$static){
  while (!!this$static.pendingStateCommand && !this$static.isResolvingState) {
    $resolvePendingState(this$static);
  }
}

function $getCurrentState(this$static){
  return !this$static.pendingState?this$static.state:this$static.pendingState;
}

function $getKeyboardSelectedRow(this$static){
  return (!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow;
}

function $getVisibleItem(this$static, indexOnPage){
  return $get_4((!this$static.pendingState?this$static.state:this$static.pendingState).rowData, indexOnPage);
}

function $getVisibleItemCount(this$static){
  return (!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size;
}

function $getVisibleRange(this$static){
  return new Range_1((!this$static.pendingState?this$static.state:this$static.pendingState).pageStart, (!this$static.pendingState?this$static.state:this$static.pendingState).pageSize);
}

function $hasKeyboardNext(this$static){
  if ((!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow < (!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size - 1) {
    return true;
  }
   else if (!this$static.keyboardPagingPolicy.isLimitedToRange && ((!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow + (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart < (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount - 1 || !(!this$static.pendingState?this$static.state:this$static.pendingState).rowCountIsExact)) {
    return true;
  }
  return false;
}

function $hasKeyboardPrev(this$static){
  if ((!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow > 0) {
    return true;
  }
   else if (!this$static.keyboardPagingPolicy.isLimitedToRange && (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart > 0) {
    return true;
  }
  return false;
}

function $keyboardEnd(this$static){
  this$static.keyboardPagingPolicy.isLimitedToRange || $setKeyboardSelectedRow(this$static, (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount - 1, true, false);
}

function $keyboardHome(this$static){
  this$static.keyboardPagingPolicy.isLimitedToRange || $setKeyboardSelectedRow(this$static, -(!this$static.pendingState?this$static.state:this$static.pendingState).pageStart, true, false);
}

function $keyboardNext(this$static){
  $hasKeyboardNext(this$static) && $setKeyboardSelectedRow(this$static, (!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow + 1, true, false);
}

function $keyboardNextPage(this$static){
  ($clinit_259() , CHANGE_PAGE) == this$static.keyboardPagingPolicy?$setKeyboardSelectedRow(this$static, (!this$static.pendingState?this$static.state:this$static.pendingState).pageSize, true, false):INCREASE_RANGE == this$static.keyboardPagingPolicy && $setKeyboardSelectedRow(this$static, (!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow + 30, true, false);
}

function $keyboardPrev(this$static){
  $hasKeyboardPrev(this$static) && $setKeyboardSelectedRow(this$static, (!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow - 1, true, false);
}

function $keyboardPrevPage(this$static){
  ($clinit_259() , CHANGE_PAGE) == this$static.keyboardPagingPolicy?$setKeyboardSelectedRow(this$static, -(!this$static.pendingState?this$static.state:this$static.pendingState).pageSize, true, false):INCREASE_RANGE == this$static.keyboardPagingPolicy && $setKeyboardSelectedRow(this$static, (!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow - 30, true, false);
}

function $redraw(this$static){
  this$static.lastContents = null;
  $ensurePendingState(this$static).redrawRequired = true;
}

--></script>
<script><!--
function $resolvePendingState(this$static){
  var absStart, bestMatchIndex, i, keyboardRowChanged, length_0, modifiedRanges, modifiedRows, newContents, newSelectedRow, oldPageSize, oldPageStart, oldRowDataCount, oldSelectedRow, oldState, pageEnd, pageSize, pageStart, pending, range, range$iterator, range0, range1, redrawRequired, relStart, replaceDiff, replaceValues, replacedEmptyRange, replacedRange, replacedRange$iterator, rowDataCount, sb, start, wasSelected, cacheSize, curPageSize;
  this$static.pendingStateCommand = null;
  if (!this$static.pendingState) {
    this$static.pendingStateLoop = 0;
    return;
  }
  ++this$static.pendingStateLoop;
  if (this$static.pendingStateLoop > 10) {
    this$static.pendingStateLoop = 0;
    throw new IllegalStateException_1('A possible infinite loop has been detected in a Cell Widget. This usually happens when your SelectionModel triggers a SelectionChangeEvent when SelectionModel.isSelection() is called, which causes the table to redraw continuously.');
  }
  if (this$static.isResolvingState) {
    throw new IllegalStateException_1('The Cell Widget is attempting to render itself within the render loop. This usually happens when your render code modifies the state of the Cell Widget then accesses data or elements within the Widget.');
  }
  this$static.isResolvingState = true;
  modifiedRows = new TreeSet_0;
  oldState = this$static.state;
  pending = this$static.pendingState;
  pageStart = pending.pageStart;
  pageSize = pending.pageSize;
  pageEnd = pageStart + pageSize;
  rowDataCount = pending.rowData.size;
  pending.keyboardSelectedRow = max(0, min(pending.keyboardSelectedRow, rowDataCount - 1));
  if (pending.keyboardSelectedRowChanged) {
    pending.keyboardSelectedRowValue = rowDataCount > 0?$get_4(pending.rowData, pending.keyboardSelectedRow):null;
  }
   else if (pending.keyboardSelectedRowValue != null) {
    bestMatchIndex = $findIndexOfBestMatch(pending, pending.keyboardSelectedRowValue, pending.keyboardSelectedRow);
    if (bestMatchIndex >= 0) {
      pending.keyboardSelectedRow = bestMatchIndex;
      pending.keyboardSelectedRowValue = rowDataCount > 0?$get_4(pending.rowData, pending.keyboardSelectedRow):null;
    }
     else {
      pending.keyboardSelectedRow = 0;
      pending.keyboardSelectedRowValue = null;
    }
  }
  keyboardRowChanged = pending.keyboardSelectedRowChanged || oldState.keyboardSelectedRow != pending.keyboardSelectedRow || oldState.keyboardSelectedRowValue == null && pending.keyboardSelectedRowValue != null;
  for (i = pageStart; i < pageStart + rowDataCount; ++i) {
    $get_4(pending.rowData, i - pageStart);
    wasSelected = $containsKey(oldState.selectedRows.map, valueOf_1(i));
    wasSelected && $put_1(modifiedRows.map, valueOf_1(i), ($clinit_472() , FALSE)) == null;
  }
  if (this$static.pendingStateCommand) {
    this$static.isResolvingState = false;
    return;
  }
  this$static.pendingStateLoop = 0;
  this$static.state = this$static.pendingState;
  this$static.pendingState = null;
  replacedEmptyRange = false;
  for (replacedRange$iterator = new AbstractList$IteratorImpl_0(pending.replacedRanges); replacedRange$iterator.i < replacedRange$iterator.this$0_0.size_0();) {
    replacedRange = dynamicCast($next_4(replacedRange$iterator), 30);
    start = replacedRange.start;
    length_0 = replacedRange.length_0;
    length_0 == 0 && (replacedEmptyRange = true);
    for (i = start; i < start + length_0; ++i) {
      $put_1(modifiedRows.map, valueOf_1(i), ($clinit_472() , FALSE)) == null;
    }
  }
  if (modifiedRows.map.size > 0 && keyboardRowChanged) {
    $put_1(modifiedRows.map, valueOf_1(oldState.keyboardSelectedRow), ($clinit_472() , FALSE)) == null;
    $put_1(modifiedRows.map, valueOf_1(pending.keyboardSelectedRow), FALSE) == null;
  }
  modifiedRanges = $calculateModifiedRanges(modifiedRows, pageStart, pageEnd);
  range0 = modifiedRanges.size > 0?dynamicCast((checkIndex(0, modifiedRanges.size) , modifiedRanges.array[0]), 30):null;
  range1 = modifiedRanges.size > 1?dynamicCast((checkIndex(1, modifiedRanges.size) , modifiedRanges.array[1]), 30):null;
  replaceDiff = 0;
  for (range$iterator = new AbstractList$IteratorImpl_0(modifiedRanges); range$iterator.i < range$iterator.this$0_0.size_0();) {
    range = dynamicCast($next_4(range$iterator), 30);
    replaceDiff += range.length_0;
  }
  oldPageStart = oldState.pageStart;
  oldPageSize = oldState.pageSize;
  oldRowDataCount = oldState.rowData.size;
  redrawRequired = pending.redrawRequired;
  pageStart != oldPageStart?(redrawRequired = true):rowDataCount < oldRowDataCount?(redrawRequired = true):!range1 && !!range0 && range0.start == pageStart && (replaceDiff >= oldRowDataCount || replaceDiff > oldPageSize)?(redrawRequired = true):replaceDiff >= 5 && replaceDiff > 0.3 * oldRowDataCount?(redrawRequired = true):replacedEmptyRange && oldRowDataCount == 0 && (redrawRequired = true);
  cacheSize = (!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size;
  curPageSize = (!this$static.pendingState?this$static.state:this$static.pendingState).rowCountIsExact?min((!this$static.pendingState?this$static.state:this$static.pendingState).pageSize, (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount - (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart):(!this$static.pendingState?this$static.state:this$static.pendingState).pageSize;
  (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount == 0 && (!this$static.pendingState?this$static.state:this$static.pendingState).rowCountIsExact?$setLoadingState(this$static.view, 3):cacheSize >= curPageSize?$setLoadingState(this$static.view, 2):cacheSize == 0?$setLoadingState(this$static.view, 0):$setLoadingState(this$static.view, 1);
  if (redrawRequired) {
    sb = new SafeHtmlBuilder_0;
    $renderRowValues(this$static.view.hasData, sb, pending.rowData, pending.pageStart);
    newContents = new SafeHtmlString_0(sb.sb.impl.string);
    if (!$equals_1(newContents, this$static.lastContents)) {
      this$static.lastContents = newContents;
      $replaceAllChildren(this$static.view, newContents, pending.keyboardStealFocus);
    }
    $resetFocus(this$static.view);
  }
   else if (range0) {
    this$static.lastContents = null;
    absStart = range0.start;
    relStart = absStart - pageStart;
    sb = new SafeHtmlBuilder_0;
    replaceValues = new AbstractList$SubList_0(pending.rowData, relStart, relStart + range0.length_0);
    $renderRowValues(this$static.view.hasData, sb, replaceValues, absStart);
    $replaceChildren_0(this$static.view, relStart, new SafeHtmlString_0(sb.sb.impl.string), pending.keyboardStealFocus);
    if (range1) {
      absStart = range1.start;
      relStart = absStart - pageStart;
      sb = new SafeHtmlBuilder_0;
      replaceValues = new AbstractList$SubList_0(pending.rowData, relStart, relStart + range1.length_0);
      $renderRowValues(this$static.view.hasData, sb, replaceValues, absStart);
      $replaceChildren_0(this$static.view, relStart, new SafeHtmlString_0(sb.sb.impl.string), pending.keyboardStealFocus);
    }
    $resetFocus(this$static.view);
  }
   else if (keyboardRowChanged) {
    oldSelectedRow = oldState.keyboardSelectedRow;
    oldSelectedRow >= 0 && oldSelectedRow < rowDataCount && $setKeyboardSelected(this$static.view, oldSelectedRow, false, false);
    newSelectedRow = pending.keyboardSelectedRow;
    newSelectedRow >= 0 && newSelectedRow < rowDataCount && $setKeyboardSelected(this$static.view, newSelectedRow, true, pending.keyboardStealFocus);
  }
  this$static.isResolvingState = false;
}

function $setKeyboardSelectedRow(this$static, index, stealFocus, forceUpdate){
  var absIndex, newPageSize, newPageStart, pageSize, pageStart, pending, rowCount;
  $ensurePendingState(this$static).viewTouched = true;
  if (!forceUpdate && (!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow == index && (!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRowValue != null) {
    return;
  }
  pageStart = (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart;
  pageSize = (!this$static.pendingState?this$static.state:this$static.pendingState).pageSize;
  rowCount = (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount;
  absIndex = pageStart + index;
  absIndex >= rowCount && (!this$static.pendingState?this$static.state:this$static.pendingState).rowCountIsExact && (absIndex = rowCount - 1);
  index = (0 > absIndex?0:absIndex) - pageStart;
  this$static.keyboardPagingPolicy.isLimitedToRange && (index = 0 > (index < pageSize - 1?index:pageSize - 1)?0:index < pageSize - 1?index:pageSize - 1);
  newPageStart = pageStart;
  newPageSize = pageSize;
  pending = $ensurePendingState(this$static);
  pending.keyboardSelectedRow = 0;
  pending.keyboardSelectedRowValue = null;
  pending.keyboardSelectedRowChanged = true;
  if (index >= 0 && index < pageSize) {
    pending.keyboardSelectedRow = index;
    pending.keyboardSelectedRowValue = index < pending.rowData.size?$get_4($ensurePendingState(this$static).rowData, index):null;
    pending.keyboardStealFocus = stealFocus;
    return;
  }
   else if (($clinit_259() , CHANGE_PAGE) == this$static.keyboardPagingPolicy) {
    while (index < 0) {
      newPageStart -= pageSize;
      index += pageSize;
    }
    while (index >= pageSize) {
      newPageStart += pageSize;
      index -= pageSize;
    }
  }
   else if (INCREASE_RANGE == this$static.keyboardPagingPolicy) {
    while (index < 0) {
      newPageSize += 30;
      newPageStart -= 30;
      index += 30;
    }
    if (newPageStart < 0) {
      index += newPageStart;
      newPageSize += newPageStart;
      newPageStart = 0;
    }
    while (index >= newPageSize) {
      newPageSize += 30;
    }
    if ((!this$static.pendingState?this$static.state:this$static.pendingState).rowCountIsExact) {
      newPageSize = newPageSize < rowCount - newPageStart?newPageSize:rowCount - newPageStart;
      index >= rowCount && (index = rowCount - 1);
    }
  }
  if (newPageStart != pageStart || newPageSize != pageSize) {
    pending.keyboardSelectedRow = index;
    $setVisibleRange(this$static, new Range_1(newPageStart, newPageSize), false);
  }
}

function $setRowCount_0(this$static, count, isExact){
  if (count == (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount && isExact == (!this$static.pendingState?this$static.state:this$static.pendingState).rowCountIsExact) {
    return;
  }
  $ensurePendingState(this$static).rowCount = count;
  $ensurePendingState(this$static).rowCountIsExact = isExact;
  $updateCachedData(this$static);
}

function $setRowData_0(this$static, values){
  var boundedEnd, boundedStart, cacheOffset, dataIndex, i, pageEnd, pageStart, pending, value, valuesLength;
  valuesLength = values.size_0();
  pageStart = (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart;
  pageEnd = (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart + (!this$static.pendingState?this$static.state:this$static.pendingState).pageSize;
  boundedStart = 0 > pageStart?0:pageStart;
  boundedEnd = valuesLength < pageEnd?valuesLength:pageEnd;
  if (0 != pageStart && boundedStart >= boundedEnd) {
    return;
  }
  pending = $ensurePendingState(this$static);
  cacheOffset = max(0, boundedStart - pageStart - (!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size);
  for (i = 0; i < cacheOffset; ++i) {
    $add_4(pending.rowData, null);
  }
  for (i = boundedStart; i < boundedEnd; ++i) {
    value = values.get_0(i);
    dataIndex = i - pageStart;
    dataIndex < (!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size?$set_0(pending.rowData, dataIndex, value):$add_4(pending.rowData, value);
  }
  $add_4(pending.replacedRanges, new Range_1(boundedStart - cacheOffset, boundedEnd - (boundedStart - cacheOffset)));
  valuesLength > (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount && $setRowCount_0(this$static, valuesLength, (!this$static.pendingState?this$static.state:this$static.pendingState).rowCountIsExact);
}

function $setVisibleRange(this$static, range, clearData){
  var decrease, i, increase, length_0, pageSize, pageSizeChanged, pageStart, pageStartChanged, pending, start;
  start = range.start;
  length_0 = range.length_0;
  if (start < 0) {
    throw new IllegalArgumentException_1('Range start cannot be less than 0');
  }
  if (length_0 < 0) {
    throw new IllegalArgumentException_1('Range length cannot be less than 0');
  }
  pageStart = (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart;
  pageSize = (!this$static.pendingState?this$static.state:this$static.pendingState).pageSize;
  pageStartChanged = pageStart != start;
  if (pageStartChanged) {
    pending = $ensurePendingState(this$static);
    if (!clearData) {
      if (start > pageStart) {
        increase = start - pageStart;
        if ((!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size > increase) {
          for (i = 0; i < increase; ++i) {
            $remove_8(pending.rowData, 0);
          }
        }
         else {
          $clear(pending.rowData);
        }
      }
       else {
        decrease = pageStart - start;
        if ((!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size > 0 && decrease < pageSize) {
          for (i = 0; i < decrease; ++i) {
            $add_5(pending.rowData, 0, null);
          }
          $add_4(pending.replacedRanges, new Range_1(start, start + decrease - start));
        }
         else {
          $clear(pending.rowData);
        }
      }
    }
    pending.pageStart = start;
  }
  pageSizeChanged = pageSize != length_0;
  pageSizeChanged && ($ensurePendingState(this$static).pageSize = length_0);
  clearData && $clear($ensurePendingState(this$static).rowData);
  $updateCachedData(this$static);
  (pageStartChanged || pageSizeChanged) && fire_6(new Range_1((!this$static.pendingState?this$static.state:this$static.pendingState).pageStart, (!this$static.pendingState?this$static.state:this$static.pendingState).pageSize));
}

function $updateCachedData(this$static){
  var expectedLastIndex, lastIndex, pageStart;
  pageStart = (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart;
  expectedLastIndex = max(0, min((!this$static.pendingState?this$static.state:this$static.pendingState).pageSize, (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount - pageStart));
  lastIndex = (!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size - 1;
  while (lastIndex >= expectedLastIndex) {
    $remove_8($ensurePendingState(this$static).rowData, lastIndex);
    --lastIndex;
  }
}

function HasDataPresenter_0(view){
  this.keyboardPagingPolicy = ($clinit_259() , CHANGE_PAGE);
  this.view = view;
  this.state = new HasDataPresenter$DefaultState_0(15);
}

function HasDataPresenter(){
}

_ = HasDataPresenter_0.prototype = HasDataPresenter.prototype = new Object_0;
_.fireEvent = function fireEvent_2(event_0){
  throw new UnsupportedOperationException_0;
}
;
_.getClass$ = function getClass_134(){
  return Lcom_google_gwt_user_cellview_client_HasDataPresenter_2_classLit;
}
;
_.castableTypeMap$ = {58:1};
_.isResolvingState = false;
_.lastContents = null;
_.pendingState = null;
_.pendingStateCommand = null;
_.pendingStateLoop = 0;
_.state = null;
_.view = null;
function HasDataPresenter$2_0(this$0){
  this.this$0 = this$0;
}

function HasDataPresenter$2(){
}

_ = HasDataPresenter$2_0.prototype = HasDataPresenter$2.prototype = new Object_0;
_.execute_0 = function execute_6(){
  this.this$0.pendingStateCommand == this && $resolvePendingState(this.this$0);
}
;
_.getClass$ = function getClass_135(){
  return Lcom_google_gwt_user_cellview_client_HasDataPresenter$2_2_classLit;
}
;
_.castableTypeMap$ = {19:1};
_.this$0 = null;
function HasDataPresenter$DefaultState_0(pageSize){
  this.rowData = new ArrayList_0;
  this.selectedRows = new HashSet_0;
  this.pageSize = pageSize;
}

function HasDataPresenter$DefaultState(){
}

_ = HasDataPresenter$DefaultState_0.prototype = HasDataPresenter$DefaultState.prototype = new Object_0;
_.getClass$ = function getClass_136(){
  return Lcom_google_gwt_user_cellview_client_HasDataPresenter$DefaultState_2_classLit;
}
;
_.castableTypeMap$ = {};
_.keyboardSelectedRow = 0;
_.keyboardSelectedRowValue = null;
_.pageSize = 0;
_.pageStart = 0;
_.rowCount = 0;
_.rowCountIsExact = false;
_.selectedValue = null;
_.viewTouched = false;
function HasDataPresenter$PendingState_0(state){
  var i, rowDataSize;
  HasDataPresenter$DefaultState_0.call(this, state.pageSize);
  this.replacedRanges = new ArrayList_0;
  this.keyboardSelectedRow = state.keyboardSelectedRow;
  this.keyboardSelectedRowValue = state.keyboardSelectedRowValue;
  this.pageSize = state.pageSize;
  this.pageStart = state.pageStart;
  this.rowCount = state.rowCount;
  this.rowCountIsExact = state.rowCountIsExact;
  this.selectedValue = state.selectedValue;
  this.viewTouched = state.viewTouched;
  rowDataSize = state.rowData.size;
  for (i = 0; i < rowDataSize; ++i) {
    $add_4(this.rowData, $get_4(state.rowData, i));
  }
}

function HasDataPresenter$PendingState(){
}

_ = HasDataPresenter$PendingState_0.prototype = HasDataPresenter$PendingState.prototype = new HasDataPresenter$DefaultState;
_.getClass$ = function getClass_137(){
  return Lcom_google_gwt_user_cellview_client_HasDataPresenter$PendingState_2_classLit;
}
;
_.castableTypeMap$ = {};
_.keyboardSelectedRowChanged = false;
_.keyboardStealFocus = false;
_.redrawRequired = false;
function $clinit_259(){
  $clinit_259 = nullMethod;
  CURRENT_PAGE = new HasKeyboardPagingPolicy$KeyboardPagingPolicy_0('CURRENT_PAGE', 0, true);
  CHANGE_PAGE = new HasKeyboardPagingPolicy$KeyboardPagingPolicy_0('CHANGE_PAGE', 1, false);
  INCREASE_RANGE = new HasKeyboardPagingPolicy$KeyboardPagingPolicy_0('INCREASE_RANGE', 2, false);
  $VALUES_4 = initValues(_3Lcom_google_gwt_user_cellview_client_HasKeyboardPagingPolicy$KeyboardPagingPolicy_2_classLit, {36:1, 66:1}, 62, [CURRENT_PAGE, CHANGE_PAGE, INCREASE_RANGE]);
}

function HasKeyboardPagingPolicy$KeyboardPagingPolicy_0(enum$name, enum$ordinal, isLimitedToRange){
  this.name_0 = enum$name;
  this.ordinal = enum$ordinal;
  this.isLimitedToRange = isLimitedToRange;
}

function values_5(){
  $clinit_259();
  return $VALUES_4;
}

function HasKeyboardPagingPolicy$KeyboardPagingPolicy(){
}

_ = HasKeyboardPagingPolicy$KeyboardPagingPolicy_0.prototype = HasKeyboardPagingPolicy$KeyboardPagingPolicy.prototype = new Enum;
_.getClass$ = function getClass_138(){
  return Lcom_google_gwt_user_cellview_client_HasKeyboardPagingPolicy$KeyboardPagingPolicy_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 62:1, 66:1, 68:1};
_.isLimitedToRange = false;
var $VALUES_4, CHANGE_PAGE, CURRENT_PAGE, INCREASE_RANGE;
function Header(){
}

_ = Header.prototype = new Object_0;
_.getClass$ = function getClass_139(){
  return Lcom_google_gwt_user_cellview_client_Header_2_classLit;
}
;
_.castableTypeMap$ = {26:1};
_.cell = null;
_.updater = null;
function TextHeader_0(text){
  this.cell = new TextCell_0;
  this.text = text;
}

function TextHeader(){
}

_ = TextHeader_0.prototype = TextHeader.prototype = new Header;
_.getClass$ = function getClass_140(){
  return Lcom_google_gwt_user_cellview_client_TextHeader_2_classLit;
}
;
_.castableTypeMap$ = {26:1};
_.text = null;
function CommandCanceledException_0(){
  $fillInStackTrace();
}

function CommandCanceledException(){
}

_ = CommandCanceledException_0.prototype = CommandCanceledException.prototype = new RuntimeException;
_.getClass$ = function getClass_141(){
  return Lcom_google_gwt_user_client_CommandCanceledException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
function $doCommandCanceled(this$static){
  var cmd;
  cmd = $getLast(this$static.iterator);
  $remove(this$static.iterator);
  cmd != null && cmd.castableTypeMap$ && !!cmd.castableTypeMap$[31] && new CommandCanceledException_0(dynamicCast(cmd, 31));
  this$static.executing = false;
  $maybeStartExecutionTimer(this$static);
}

function $doExecuteCommands(this$static, startTimeMillis){
  var command, element, wasCanceled;
  wasCanceled = false;
  try {
    this$static.executing = true;
    this$static.iterator.end = this$static.commands.size;
    $schedule(this$static.cancellationTimer, 10000);
    while ($hasNext(this$static.iterator)) {
      element = $next(this$static.iterator);
      try {
        if (element == null) {
          return;
        }
        if (element != null && element.castableTypeMap$ && !!element.castableTypeMap$[31]) {
          command = dynamicCast(element, 31);
          command.execute_0();
        }
      }
       finally {
        wasCanceled = this$static.iterator.last == -1;
        wasCanceled || $remove(this$static.iterator);
      }
      if ((new Date).getTime() - startTimeMillis >= 100) {
        return;
      }
    }
  }
   finally {
    if (!wasCanceled) {
      $cancel_1(this$static.cancellationTimer);
      this$static.executing = false;
      $maybeStartExecutionTimer(this$static);
    }
  }
}

function $maybeStartExecutionTimer(this$static){
  if (this$static.commands.size != 0 && !this$static.executionTimerPending && !this$static.executing) {
    this$static.executionTimerPending = true;
    $schedule(this$static.executionTimer, 1);
  }
}

function $submit(this$static, command){
  $add_4(this$static.commands, command);
  $maybeStartExecutionTimer(this$static);
}

function CommandExecutor_0(){
  this.cancellationTimer = new CommandExecutor$1_0(this);
  this.commands = new ArrayList_0;
  this.executionTimer = new CommandExecutor$2_0(this);
  this.iterator = new CommandExecutor$CircularIterator_0(this);
}

function CommandExecutor(){
}

_ = CommandExecutor_0.prototype = CommandExecutor.prototype = new Object_0;
_.getClass$ = function getClass_142(){
  return Lcom_google_gwt_user_client_CommandExecutor_2_classLit;
}
;
_.castableTypeMap$ = {};
_.executing = false;
_.executionTimerPending = false;
function CommandExecutor$1_0(this$0){
  $clinit_172();
  this.this$0 = this$0;
}

function CommandExecutor$1(){
}

_ = CommandExecutor$1_0.prototype = CommandExecutor$1.prototype = new Timer;
_.getClass$ = function getClass_143(){
  return Lcom_google_gwt_user_client_CommandExecutor$1_2_classLit;
}
;
_.run = function run_0(){
  if (!this.this$0.executing) {
    return;
  }
  $doCommandCanceled(this.this$0);
}
;
_.castableTypeMap$ = {33:1};
_.this$0 = null;
function CommandExecutor$2_0(this$0){
  $clinit_172();
  this.this$0 = this$0;
}

function CommandExecutor$2(){
}

_ = CommandExecutor$2_0.prototype = CommandExecutor$2.prototype = new Timer;
_.getClass$ = function getClass_144(){
  return Lcom_google_gwt_user_client_CommandExecutor$2_2_classLit;
}
;
_.run = function run_1(){
  this.this$0.executionTimerPending = false;
  $doExecuteCommands(this.this$0, (new Date).getTime());
}
;
_.castableTypeMap$ = {33:1};
_.this$0 = null;
function $getLast(this$static){
  return $get_4(this$static.this$0.commands, this$static.last);
}

function $hasNext(this$static){
  return this$static.next < this$static.end;
}

function $next(this$static){
  var command;
  this$static.last = this$static.next;
  command = $get_4(this$static.this$0.commands, this$static.next++);
  this$static.next >= this$static.end && (this$static.next = 0);
  return command;
}

function $remove(this$static){
  $remove_8(this$static.this$0.commands, this$static.last);
  --this$static.end;
  this$static.last <= this$static.next && --this$static.next < 0 && (this$static.next = 0);
  this$static.last = -1;
}

function CommandExecutor$CircularIterator_0(this$0){
  this.this$0 = this$0;
}

function CommandExecutor$CircularIterator(){
}

_ = CommandExecutor$CircularIterator_0.prototype = CommandExecutor$CircularIterator.prototype = new Object_0;
_.getClass$ = function getClass_145(){
  return Lcom_google_gwt_user_client_CommandExecutor$CircularIterator_2_classLit;
}
;
_.hasNext = function hasNext(){
  return this.next < this.end;
}
;
_.next_0 = function next_0(){
  return $next(this);
}
;
_.remove = function remove_0(){
  $remove(this);
}
;
_.castableTypeMap$ = {};
_.end = 0;
_.last = -1;
_.next = 0;
_.this$0 = null;
function dispatchEvent_2(evt, elem, listener){
  var prevCurrentEvent;
  prevCurrentEvent = currentEvent;
  currentEvent = evt;
  elem == sCaptureElem && $eventGetTypeInt(evt.type) == 8192 && (sCaptureElem = null);
  listener.onBrowserEvent_0(evt);
  currentEvent = prevCurrentEvent;
}

function isOrHasChild(parent_0, child){
  return parent_0 === child || !!(parent_0.compareDocumentPosition(child) & 16);
}

function previewEvent(evt){
  var ret;
  ret = fire_4(handlers_0, evt);
  if (!ret && !!evt) {
    evt.cancelBubble = true;
    evt.preventDefault();
  }
  return ret;
}

function releaseCapture(elem){
  !!sCaptureElem && elem == sCaptureElem && (sCaptureElem = null);
  $maybeInitializeEventSystem();
  elem === captureElem && (captureElem = null);
}

function setCapture(elem){
  sCaptureElem = elem;
  $maybeInitializeEventSystem();
  captureElem = elem;
}

var currentEvent = null, sCaptureElem = null;
function $clinit_270(){
  $clinit_270 = nullMethod;
  commandExecutor = new CommandExecutor_0;
}

function addCommand(cmd){
  $clinit_270();
  if (!cmd) {
    throw new NullPointerException_1('cmd cannot be null');
  }
  $submit(commandExecutor, cmd);
}

var commandExecutor;
function addNativePreviewHandler(handler){
  $maybeInitializeEventSystem();
  !TYPE_7 && (TYPE_7 = new GwtEvent$Type_0);
  if (!handlers_0) {
    handlers_0 = new HandlerManager_1(null, true);
    singleton = new Event$NativePreviewEvent_0;
  }
  return $addHandler_0(handlers_0.eventBus, TYPE_7, handler);
}

var handlers_0 = null;
function $revive_0(this$static){
  this$static.dead = false;
  this$static.source = null;
  this$static.isCanceled = false;
  this$static.isConsumed = false;
  this$static.isFirstHandler = true;
  this$static.nativeEvent = null;
}

function Event$NativePreviewEvent_0(){
}

function fire_4(handlers, nativeEvent){
  var lastIsCanceled, lastIsConsumed, lastIsFirstHandler, lastNativeEvent, ret;
  if (!!TYPE_7 && !!handlers && $containsKey(handlers.eventBus.map, TYPE_7)) {
    lastIsCanceled = singleton.isCanceled;
    lastIsConsumed = singleton.isConsumed;
    lastIsFirstHandler = singleton.isFirstHandler;
    lastNativeEvent = singleton.nativeEvent;
    $revive_0(singleton);
    singleton.nativeEvent = nativeEvent;
    $fireEvent(handlers, singleton);
    ret = !(singleton.isCanceled && !singleton.isConsumed);
    singleton.isCanceled = lastIsCanceled;
    singleton.isConsumed = lastIsConsumed;
    singleton.isFirstHandler = lastIsFirstHandler;
    singleton.nativeEvent = lastNativeEvent;
    return ret;
  }
  return true;
}

function Event$NativePreviewEvent(){
}

_ = Event$NativePreviewEvent_0.prototype = Event$NativePreviewEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_7(handler){
  $previewNativeEvent(dynamicCast(handler, 32).this$0, this);
  singleton.isFirstHandler = false;
}
;
_.getAssociatedType = function getAssociatedType_8(){
  return TYPE_7;
}
;
_.getClass$ = function getClass_146(){
  return Lcom_google_gwt_user_client_Event$NativePreviewEvent_2_classLit;
}
;
_.revive = function revive_0(){
  $revive_0(this);
}
;
_.castableTypeMap$ = {};
_.isCanceled = false;
_.isConsumed = false;
_.isFirstHandler = false;
_.nativeEvent = null;
var TYPE_7 = null, singleton = null;
function $clinit_276(){
  $clinit_276 = nullMethod;
  impl_0 = new HistoryImplMozilla_0;
  $init_0(impl_0) || (impl_0 = null);
}

function addValueChangeHandler(handler){
  $clinit_276();
  return impl_0?$addValueChangeHandler(impl_0, handler):null;
}

var impl_0 = null;
function Timer$1_0(){
}

function Timer$1(){
}

_ = Timer$1_0.prototype = Timer$1.prototype = new Object_0;
_.getClass$ = function getClass_147(){
  return Lcom_google_gwt_user_client_Timer$1_2_classLit;
}
;
_.onClose = function onClose(event_0){
  while (($clinit_172() , timers).size > 0) {
    $cancel_1(dynamicCast($get_4(timers, 0), 33));
  }
}
;
_.castableTypeMap$ = {13:1, 16:1};
function addCloseHandler(handler){
  maybeInitializeCloseHandlers();
  return addHandler(TYPE_3?TYPE_3:(TYPE_3 = new GwtEvent$Type_0), handler);
}

function addHandler(type, handler){
  return $addHandler_0((!handlers_1 && (handlers_1 = new Window$WindowHandlers_0) , handlers_1).eventBus, type, handler);
}

function addResizeHandler(handler){
  maybeInitializeCloseHandlers();
  maybeInitializeResizeHandlers();
  return addHandler((!TYPE_5 && (TYPE_5 = new GwtEvent$Type_0) , TYPE_5), handler);
}

function maybeInitializeCloseHandlers(){
  if (!closeHandlersInitialized) {
    $initWindowCloseHandler();
    closeHandlersInitialized = true;
  }
}

function maybeInitializeResizeHandlers(){
  if (!resizeHandlersInitialized) {
    $initWindowResizeHandler();
    resizeHandlersInitialized = true;
  }
}

function onClosing(){
  var event_0;
  if (closeHandlersInitialized) {
    event_0 = new Window$ClosingEvent_0;
    !!handlers_1 && $fireEvent(handlers_1, event_0);
    return null;
  }
  return null;
}

function onResize(){
  var height, width;
  if (resizeHandlersInitialized) {
    width = $getClientWidth_0($doc);
    height = $getClientHeight_0($doc);
    if (lastResizeWidth != width || lastResizeHeight != height) {
      lastResizeWidth = width;
      lastResizeHeight = height;
      fire_0((!handlers_1 && (handlers_1 = new Window$WindowHandlers_0) , handlers_1));
    }
  }
}

var closeHandlersInitialized = false, handlers_1 = null, lastResizeHeight = 0, lastResizeWidth = 0, resizeHandlersInitialized = false;
--></script>
<script><!--
function $clinit_280(){
  $clinit_280 = nullMethod;
  TYPE_8 = new GwtEvent$Type_0;
}

function Window$ClosingEvent_0(){
  $clinit_280();
}

function Window$ClosingEvent(){
}

_ = Window$ClosingEvent_0.prototype = Window$ClosingEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_8(handler){
  throwClassCastExceptionUnlessNull(handler);
  null.nullMethod();
}
;
_.getAssociatedType = function getAssociatedType_9(){
  return TYPE_8;
}
;
_.getClass$ = function getClass_148(){
  return Lcom_google_gwt_user_client_Window$ClosingEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
var TYPE_8;
function Window$WindowHandlers_0(){
  this.eventBus = new SimpleEventBus_0(false);
  this.source = null;
}

function Window$WindowHandlers(){
}

_ = Window$WindowHandlers_0.prototype = Window$WindowHandlers.prototype = new HandlerManager;
_.getClass$ = function getClass_149(){
  return Lcom_google_gwt_user_client_Window$WindowHandlers_2_classLit;
}
;
_.castableTypeMap$ = {58:1};
function $eventGetTypeInt(eventType){
  switch (eventType) {
    case 'blur':
      return 4096;
    case 'change':
      return 1024;
    case 'click':
      return 1;
    case 'dblclick':
      return 2;
    case 'focus':
      return 2048;
    case 'keydown':
      return 128;
    case 'keypress':
      return 256;
    case 'keyup':
      return 512;
    case 'load':
      return 32768;
    case 'losecapture':
      return 8192;
    case 'mousedown':
      return 4;
    case 'mousemove':
      return 64;
    case 'mouseout':
      return 32;
    case 'mouseover':
      return 16;
    case 'mouseup':
      return 8;
    case 'scroll':
      return 16384;
    case 'error':
      return 65536;
    case 'mousewheel':
      return 131072;
    case 'DOMMouseScroll':
      return 131072;
    case 'contextmenu':
      return 262144;
    case 'paste':
      return 524288;
    case 'touchstart':
      return 1048576;
    case 'touchmove':
      return 2097152;
    case 'touchend':
      return 4194304;
    case 'touchcancel':
      return 8388608;
    case 'gesturestart':
      return 16777216;
    case 'gesturechange':
      return 33554432;
    case 'gestureend':
      return 67108864;
    default:return -1;
  }
}

function $maybeInitializeEventSystem(){
  if (!eventSystemIsInitialized) {
    $initEventSystem_0();
    $initSyntheticMouseUpEvents();
    eventSystemIsInitialized = true;
  }
}

function isMyListener(object){
  return !instanceOfJso(object) && object != null && object.castableTypeMap$ && !!object.castableTypeMap$[34];
}

var eventSystemIsInitialized = false;
function $eventGetFromElement(evt){
  if ($equals_2(evt.type, 'mouseover')) {
    return $eventGetRelatedTarget(evt);
  }
  if ($equals_2(evt.type, 'mouseout')) {
    return evt.target;
  }
  return null;
}

function $eventGetToElement(evt){
  if ($equals_2(evt.type, 'mouseover')) {
    return evt.target;
  }
  if ($equals_2(evt.type, 'mouseout')) {
    return $eventGetRelatedTarget(evt);
  }
  return null;
}

function $initEventSystem_0(){
  dispatchCapturedMouseEvent = $entry(function(evt){
    if (dispatchCapturedEvent(evt)) {
      var cap = captureElem;
      if (cap && cap.__listener) {
        if (isMyListener(cap.__listener)) {
          dispatchEvent_2(evt, cap, cap.__listener);
          evt.stopPropagation();
        }
      }
    }
  }
  );
  dispatchCapturedEvent = $entry(function(evt){
    if (!previewEvent(evt)) {
      evt.stopPropagation();
      evt.preventDefault();
      return false;
    }
    return true;
  }
  );
  dispatchUnhandledEvent_0 = $entry(function(evt){
    this.__gwtLastUnhandledEvent = evt.type;
    dispatchEvent_3.call(this, evt);
  }
  );
  dispatchEvent_3 = $entry(function(evt){
    var listener, curElem = this;
    while (curElem && !(listener = curElem.__listener)) {
      curElem = curElem.parentNode;
    }
    curElem && curElem.nodeType != 1 && (curElem = null);
    listener && isMyListener(listener) && dispatchEvent_2(evt, curElem, listener);
  }
  );
  $wnd.addEventListener('click', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('dblclick', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousedown', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseup', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousemove', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseover', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseout', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousewheel', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('keydown', dispatchCapturedEvent, true);
  $wnd.addEventListener('keyup', dispatchCapturedEvent, true);
  $wnd.addEventListener('keypress', dispatchCapturedEvent, true);
  $wnd.addEventListener('touchstart', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('touchmove', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('touchend', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('touchcancel', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('gesturestart', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('gesturechange', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('gestureend', dispatchCapturedMouseEvent, true);
}

function $insertChild(parent_0, toAdd, index){
  var count = 0, child = parent_0.firstChild, before = null;
  while (child) {
    if (child.nodeType == 1) {
      if (count == index) {
        before = child;
        break;
      }
      ++count;
    }
    child = child.nextSibling;
  }
  parent_0.insertBefore(toAdd, before);
}

function $sinkEventsImpl(elem, bits){
  var chMask = (elem.__eventBits || 0) ^ bits;
  elem.__eventBits = bits;
  if (!chMask)
    return;
  chMask & 1 && (elem.onclick = bits & 1?dispatchEvent_3:null);
  chMask & 2 && (elem.ondblclick = bits & 2?dispatchEvent_3:null);
  chMask & 4 && (elem.onmousedown = bits & 4?dispatchEvent_3:null);
  chMask & 8 && (elem.onmouseup = bits & 8?dispatchEvent_3:null);
  chMask & 16 && (elem.onmouseover = bits & 16?dispatchEvent_3:null);
  chMask & 32 && (elem.onmouseout = bits & 32?dispatchEvent_3:null);
  chMask & 64 && (elem.onmousemove = bits & 64?dispatchEvent_3:null);
  chMask & 128 && (elem.onkeydown = bits & 128?dispatchEvent_3:null);
  chMask & 256 && (elem.onkeypress = bits & 256?dispatchEvent_3:null);
  chMask & 512 && (elem.onkeyup = bits & 512?dispatchEvent_3:null);
  chMask & 1024 && (elem.onchange = bits & 1024?dispatchEvent_3:null);
  chMask & 2048 && (elem.onfocus = bits & 2048?dispatchEvent_3:null);
  chMask & 4096 && (elem.onblur = bits & 4096?dispatchEvent_3:null);
  chMask & 8192 && (elem.onlosecapture = bits & 8192?dispatchEvent_3:null);
  chMask & 16384 && (elem.onscroll = bits & 16384?dispatchEvent_3:null);
  chMask & 32768 && (elem.onload = bits & 32768?dispatchUnhandledEvent_0:null);
  chMask & 65536 && (elem.onerror = bits & 65536?dispatchEvent_3:null);
  chMask & 131072 && (elem.onmousewheel = bits & 131072?dispatchEvent_3:null);
  chMask & 262144 && (elem.oncontextmenu = bits & 262144?dispatchEvent_3:null);
  chMask & 524288 && (elem.onpaste = bits & 524288?dispatchEvent_3:null);
  chMask & 1048576 && (elem.ontouchstart = bits & 1048576?dispatchEvent_3:null);
  chMask & 2097152 && (elem.ontouchmove = bits & 2097152?dispatchEvent_3:null);
  chMask & 4194304 && (elem.ontouchend = bits & 4194304?dispatchEvent_3:null);
  chMask & 8388608 && (elem.ontouchcancel = bits & 8388608?dispatchEvent_3:null);
  chMask & 16777216 && (elem.ongesturestart = bits & 16777216?dispatchEvent_3:null);
  chMask & 33554432 && (elem.ongesturechange = bits & 33554432?dispatchEvent_3:null);
  chMask & 67108864 && (elem.ongestureend = bits & 67108864?dispatchEvent_3:null);
}

var captureElem = null, dispatchCapturedEvent = null, dispatchCapturedMouseEvent = null, dispatchEvent_3 = null, dispatchUnhandledEvent_0 = null;
function $initSyntheticMouseUpEvents(){
  $wnd.addEventListener('mouseout', $entry(function(evt){
    var cap = captureElem;
    if (cap && !evt.relatedTarget) {
      if ('html' == evt.target.tagName.toLowerCase()) {
        var muEvent = $doc.createEvent('MouseEvents');
        muEvent.initMouseEvent('mouseup', true, true, $wnd, 0, evt.screenX, evt.screenY, evt.clientX, evt.clientY, evt.ctrlKey, evt.altKey, evt.shiftKey, evt.metaKey, evt.button, null);
        cap.dispatchEvent(muEvent);
      }
    }
  }
  ), true);
  $wnd.addEventListener('DOMMouseScroll', dispatchCapturedMouseEvent, true);
}

function $sinkEvents_1(elem, bits){
  $maybeInitializeEventSystem();
  $sinkEventsImpl(elem, bits);
  bits & 131072 && elem.addEventListener('DOMMouseScroll', dispatchEvent_3, false);
}

function $get_1(this$static, elem){
  var index, index_0;
  index = (index_0 = elem['__uiObjectID'] , index_0 == null?-1:index_0);
  if (index < 0) {
    return null;
  }
  return dynamicCast($get_4(this$static.uiObjectList, index), 35);
}

function $put(this$static, uiObject){
  var index;
  if (!this$static.freeList) {
    index = this$static.uiObjectList.size;
    $add_4(this$static.uiObjectList, uiObject);
  }
   else {
    index = this$static.freeList.index_0;
    $set_0(this$static.uiObjectList, index, uiObject);
    this$static.freeList = this$static.freeList.next;
  }
  uiObject.element['__uiObjectID'] = index;
}

function $removeByElement(this$static, elem){
  var index, index_0;
  index = (index_0 = elem['__uiObjectID'] , index_0 == null?-1:index_0);
  elem['__uiObjectID'] = null;
  $set_0(this$static.uiObjectList, index, null);
  this$static.freeList = new ElementMapperImpl$FreeNode_0(index, this$static.freeList);
}

function ElementMapperImpl_0(){
  this.uiObjectList = new ArrayList_0;
}

function ElementMapperImpl(){
}

_ = ElementMapperImpl_0.prototype = ElementMapperImpl.prototype = new Object_0;
_.getClass$ = function getClass_150(){
  return Lcom_google_gwt_user_client_impl_ElementMapperImpl_2_classLit;
}
;
_.castableTypeMap$ = {};
_.freeList = null;
function ElementMapperImpl$FreeNode_0(index, next){
  this.index_0 = index;
  this.next = next;
}

function ElementMapperImpl$FreeNode(){
}

_ = ElementMapperImpl$FreeNode_0.prototype = ElementMapperImpl$FreeNode.prototype = new Object_0;
_.getClass$ = function getClass_151(){
  return Lcom_google_gwt_user_client_impl_ElementMapperImpl$FreeNode_2_classLit;
}
;
_.castableTypeMap$ = {};
_.index_0 = 0;
_.next = null;
function $addValueChangeHandler(this$static, handler){
  return $addHandler_0(this$static.handlers.eventBus, (!TYPE_6 && (TYPE_6 = new GwtEvent$Type_0) , TYPE_6), handler);
}

function HistoryImpl(){
}

_ = HistoryImpl.prototype = new Object_0;
_.decodeFragment = function decodeFragment(encodedFragment){
  return decodeURI(encodedFragment.replace('%23', '#'));
}
;
_.fireEvent = function fireEvent_3(event_0){
  $fireEvent(this.handlers, event_0);
}
;
_.getClass$ = function getClass_152(){
  return Lcom_google_gwt_user_client_impl_HistoryImpl_2_classLit;
}
;
_.newItemOnEvent = function newItemOnEvent(historyToken){
  historyToken = historyToken == null?'':historyToken;
  if (!$equals_2(historyToken, $wnd.__gwt_historyToken || '')) {
    $wnd.__gwt_historyToken = historyToken;
    fire_2(this, historyToken);
  }
}
;
_.castableTypeMap$ = {58:1};
function $init_0(this$static){
  var token_0 = '';
  var hash_0 = $wnd.location.hash;
  hash_0.length > 0 && (token_0 = this$static.decodeFragment(hash_0.substring(1)));
  $wnd.__gwt_historyToken = token_0;
  var historyImpl = this$static;
  $wnd.__checkHistory = $entry(function(){
    $wnd.setTimeout($wnd.__checkHistory, 250);
    var token = '', hash = $wnd.location.hash;
    hash.length > 0 && (token = historyImpl.decodeFragment(hash.substring(1)));
    historyImpl.newItemOnEvent(token);
  }
  );
  $wnd.__checkHistory();
  return true;
}

function HistoryImplTimer(){
}

_ = HistoryImplTimer.prototype = new HistoryImpl;
_.getClass$ = function getClass_153(){
  return Lcom_google_gwt_user_client_impl_HistoryImplTimer_2_classLit;
}
;
_.castableTypeMap$ = {58:1};
function HistoryImplMozilla_0(){
  this.handlers = new HandlerManager_0(null);
}

function HistoryImplMozilla(){
}

_ = HistoryImplMozilla_0.prototype = HistoryImplMozilla.prototype = new HistoryImplTimer;
_.decodeFragment = function decodeFragment_0(encodedFragment){
  return encodedFragment;
}
;
_.getClass$ = function getClass_154(){
  return Lcom_google_gwt_user_client_impl_HistoryImplMozilla_2_classLit;
}
;
_.castableTypeMap$ = {58:1};
function $initWindowCloseHandler(){
  var oldOnBeforeUnload = $wnd.onbeforeunload;
  var oldOnUnload = $wnd.onunload;
  $wnd.onbeforeunload = function(evt){
    var ret, oldRet;
    try {
      ret = $entry(onClosing)();
    }
     finally {
      oldRet = oldOnBeforeUnload && oldOnBeforeUnload(evt);
    }
    if (ret != null) {
      return ret;
    }
    if (oldRet != null) {
      return oldRet;
    }
  }
  ;
  $wnd.onunload = $entry(function(evt){
    try {
      closeHandlersInitialized && fire((!handlers_1 && (handlers_1 = new Window$WindowHandlers_0) , handlers_1));
    }
     finally {
      oldOnUnload && oldOnUnload(evt);
      $wnd.onresize = null;
      $wnd.onscroll = null;
      $wnd.onbeforeunload = null;
      $wnd.onunload = null;
    }
  }
  );
}

function $initWindowResizeHandler(){
  var oldOnResize = $wnd.onresize;
  $wnd.onresize = $entry(function(evt){
    try {
      onResize();
    }
     finally {
      oldOnResize && oldOnResize(evt);
    }
  }
  );
}

function IncompatibleRemoteServiceException_0(){
  $fillInStackTrace();
  this.detailMessage = 'This application is out of date, please click the refresh button on your browser.';
}

function IncompatibleRemoteServiceException_1(msg){
  $fillInStackTrace();
  this.detailMessage = 'This application is out of date, please click the refresh button on your browser. ( ' + msg + ' )';
}

function IncompatibleRemoteServiceException_2(cause){
  $fillInStackTrace();
  this.cause = cause;
  this.detailMessage = 'The response could not be deserialized';
}

function IncompatibleRemoteServiceException(){
}

_ = IncompatibleRemoteServiceException_2.prototype = IncompatibleRemoteServiceException_1.prototype = IncompatibleRemoteServiceException_0.prototype = IncompatibleRemoteServiceException.prototype = new RuntimeException;
_.getClass$ = function getClass_155(){
  return Lcom_google_gwt_user_client_rpc_IncompatibleRemoteServiceException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
function deserialize_3(streamReader, instance){
  instance.detailMessage = $getString(streamReader, streamReader.results[--streamReader.index_0]);
}

function instantiate_3(streamReader){
  return new IncompatibleRemoteServiceException_0;
}

function serialize_1(streamWriter, instance){
  $writeString(streamWriter, instance.detailMessage);
}

function InvocationException_0(s){
  $fillInStackTrace();
  this.cause = null;
  this.detailMessage = s;
}

function InvocationException_1(cause){
  $fillInStackTrace();
  this.cause = cause;
  this.detailMessage = 'Unable to initiate the asynchronous service invocation -- check the network connection';
}

function InvocationException(){
}

_ = InvocationException_1.prototype = InvocationException_0.prototype = InvocationException.prototype = new RuntimeException;
_.getClass$ = function getClass_156(){
  return Lcom_google_gwt_user_client_rpc_InvocationException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
function $create(this$static, serviceEntryPoint){
  this$static.builder = new RequestBuilder_0(($clinit_174() , POST), serviceEntryPoint);
  return this$static;
}

function $doFinish(rb){
  $setHeader(rb, 'X-GWT-Permutation', $strongName);
  $setHeader(rb, 'X-GWT-Module-Base', $moduleBase);
}

function $doSetCallback(rb, callback){
  throwIfNull('callback', callback);
  rb.callback = callback;
}

function $finish(this$static){
  try {
    $doFinish(this$static.builder);
    return this$static.builder;
  }
   finally {
    this$static.builder = null;
  }
}

function $setCallback(this$static, callback){
  $doSetCallback(this$static.builder, callback);
  return this$static;
}

function $setRequestData(this$static, data){
  this$static.builder.requestData = data;
  return this$static;
}

function RpcRequestBuilder_0(){
}

function RpcRequestBuilder(){
}

_ = RpcRequestBuilder_0.prototype = RpcRequestBuilder.prototype = new Object_0;
_.getClass$ = function getClass_157(){
  return Lcom_google_gwt_user_client_rpc_RpcRequestBuilder_2_classLit;
}
;
_.castableTypeMap$ = {};
_.builder = null;
function SerializationException_0(msg){
  $fillInStackTrace();
  this.detailMessage = msg;
}

function SerializationException(){
}

_ = SerializationException_0.prototype = SerializationException.prototype = new Exception;
_.getClass$ = function getClass_158(){
  return Lcom_google_gwt_user_client_rpc_SerializationException_2_classLit;
}
;
_.castableTypeMap$ = {5:1, 17:1, 66:1};
function ServiceDefTarget$NoServiceEntryPointSpecifiedException_0(){
  $fillInStackTrace();
  this.cause = null;
  this.detailMessage = 'Service implementation URL not specified';
}

function ServiceDefTarget$NoServiceEntryPointSpecifiedException(){
}

_ = ServiceDefTarget$NoServiceEntryPointSpecifiedException_0.prototype = ServiceDefTarget$NoServiceEntryPointSpecifiedException.prototype = new InvocationException;
_.getClass$ = function getClass_159(){
  return Lcom_google_gwt_user_client_rpc_ServiceDefTarget$NoServiceEntryPointSpecifiedException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
function StatusCodeException_0(statusCode, encodedResponse){
  $fillInStackTrace();
  this.cause = null;
  this.detailMessage = statusCode + ' ' + encodedResponse;
}

function StatusCodeException(){
}

_ = StatusCodeException_0.prototype = StatusCodeException.prototype = new InvocationException;
_.getClass$ = function getClass_160(){
  return Lcom_google_gwt_user_client_rpc_StatusCodeException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
function deserialize_4(streamReader, instance){
  var itemIndex;
  for (itemIndex = 0; itemIndex < instance.length; ++itemIndex) {
    setCheck(instance, itemIndex, $readObject(streamReader));
  }
}

function deserialize_5(streamReader, instance){
}

function instantiate_4(streamReader){
  return $getString(streamReader, streamReader.results[--streamReader.index_0]);
}

function serialize_2(streamWriter, instance){
  append(streamWriter.encodeBuffer, '' + $addString(streamWriter, instance));
}

function deserialize_6(streamReader, instance){
}

function instantiate_5(streamReader){
  var s;
  return new Date_7((s = streamReader.results[--streamReader.index_0] , longFromBase64(s)));
}

function serialize_3(streamWriter, instance){
  append(streamWriter.encodeBuffer, toBase64(fromDouble(instance.jsdate.getTime())));
}

function deserialize_7(streamReader, instance){
}

function instantiate_6(streamReader){
  var s;
  return new Time_0((s = streamReader.results[--streamReader.index_0] , longFromBase64(s)));
}

function serialize_4(streamWriter, instance){
  append(streamWriter.encodeBuffer, toBase64(fromDouble(instance.jsdate.getTime())));
}

function deserialize_8(streamReader, instance){
  $setNanos(instance, streamReader.results[--streamReader.index_0]);
}

function instantiate_7(streamReader){
  var s;
  return new Timestamp_0((s = streamReader.results[--streamReader.index_0] , longFromBase64(s)));
}

function serialize_5(streamWriter, instance){
  append(streamWriter.encodeBuffer, toBase64(fromDouble(instance.jsdate.getTime())));
  append(streamWriter.encodeBuffer, '' + instance.nanos);
}

function deserialize_9(streamReader, instance){
  deserialize_11(streamReader, instance);
}

function instantiate_8(streamReader){
  return new ArrayList_0;
}

function deserialize_10(streamReader, instance){
}

function instantiate_9(streamReader){
  var array;
  array = dynamicCast($readObject(streamReader), 36);
  return new Arrays$ArrayList_0(array);
}

function deserialize_11(streamReader, instance){
  var i, obj, size;
  size = streamReader.results[--streamReader.index_0];
  for (i = 0; i < size; ++i) {
    obj = $readObject(streamReader);
    instance.add(obj);
  }
}

function deserialize_12(streamReader, instance){
}

function instantiate_10(streamReader){
  return $clinit_527() , $clinit_527() , EMPTY_LIST;
}

function deserialize_13(streamReader, instance){
}

function instantiate_11(streamReader){
  return $clinit_527() , new Collections$SingletonList_0($readObject(streamReader));
}

function deserialize_14(streamReader, instance){
}

function instantiate_12(streamReader){
  var s;
  return new Date_4((s = streamReader.results[--streamReader.index_0] , longFromBase64(s)));
}

function serialize_6(streamWriter, instance){
  append(streamWriter.encodeBuffer, toBase64(instance.getTime_0()));
}

function deserialize_15(streamReader, instance){
  deserialize_11(streamReader, instance);
}

function instantiate_13(streamReader){
  return new LinkedList_0;
}

function deserialize_16(streamReader, instance){
  deserialize_11(streamReader, instance);
}

function instantiate_14(streamReader){
  return new Stack_0;
}

function deserialize_17(streamReader, instance){
  deserialize_11(streamReader, instance);
}

function instantiate_15(streamReader){
  return new Vector_0;
}

function AbstractSerializationStream(){
}

_ = AbstractSerializationStream.prototype = new Object_0;
_.getClass$ = function getClass_161(){
  return Lcom_google_gwt_user_client_rpc_impl_AbstractSerializationStream_2_classLit;
}
;
_.castableTypeMap$ = {};
_.flags = 0;
_.version = 7;
function $readObject(this$static){
  var token, typeSignature, id, instance;
  token = this$static.results[--this$static.index_0];
  if (token < 0) {
    return $get_4(this$static.seenArray, -(token + 1));
  }
  typeSignature = token > 0?this$static.stringTable[token - 1]:null;
  if (typeSignature == null) {
    return null;
  }
  return id = ($add_4(this$static.seenArray, null) , this$static.seenArray.size) , instance = $instantiate(this$static.serializer, this$static, typeSignature) , $set_0(this$static.seenArray, id - 1, instance) , $deserialize(this$static.serializer, this$static, instance, typeSignature) , instance;
}

function AbstractSerializationStreamReader(){
}

_ = AbstractSerializationStreamReader.prototype = new AbstractSerializationStream;
_.getClass$ = function getClass_162(){
  return Lcom_google_gwt_user_client_rpc_impl_AbstractSerializationStreamReader_2_classLit;
}
;
_.castableTypeMap$ = {};
function $addString(this$static, string){
  var index, o;
  if (string == null) {
    return 0;
  }
  o = dynamicCast($get_3(this$static.stringMap, string), 29);
  if (o) {
    return o.value;
  }
  $add_4(this$static.stringTable, string);
  index = this$static.stringTable.size;
  $put_0(this$static.stringMap, string, valueOf_1(index));
  return index;
}

function $writeObject(this$static, instance){
  var objIndex, typeSignature;
  if (instance == null) {
    append(this$static.encodeBuffer, '' + $addString(this$static, null));
    return;
  }
  objIndex = $containsKey(this$static.objectMap, instance)?dynamicCast($get_3(this$static.objectMap, instance), 29).value:-1;
  if (objIndex >= 0) {
    append(this$static.encodeBuffer, '' + -(objIndex + 1));
    return;
  }
  $put_0(this$static.objectMap, instance, valueOf_1(this$static.objectCount++));
  typeSignature = $getObjectTypeSignature(this$static, instance);
  append(this$static.encodeBuffer, '' + $addString(this$static, typeSignature));
  $serialize(this$static.serializer, this$static, instance, typeSignature);
}

function $writeString(this$static, value){
  append(this$static.encodeBuffer, '' + $addString(this$static, value));
}

function AbstractSerializationStreamWriter(){
}

_ = AbstractSerializationStreamWriter.prototype = new AbstractSerializationStream;
_.getClass$ = function getClass_163(){
  return Lcom_google_gwt_user_client_rpc_impl_AbstractSerializationStreamWriter_2_classLit;
}
;
_.castableTypeMap$ = {};
_.objectCount = 0;
function $getString(this$static, index){
  return index > 0?this$static.stringTable[index - 1]:null;
}

function $prepareToRead_0(this$static, encoded){
  this$static.results = eval(encoded);
  this$static.index_0 = this$static.results.length;
  $clear(this$static.seenArray);
  this$static.version = this$static.results[--this$static.index_0];
  this$static.flags = this$static.results[--this$static.index_0];
  if (this$static.version != 7) {
    throw new IncompatibleRemoteServiceException_1('Expecting version 7 from server, got ' + this$static.version + '.');
  }
  if (((this$static.flags | 3) ^ 3) != 0) {
    throw new IncompatibleRemoteServiceException_1('Got an unknown flag from server: ' + this$static.flags);
  }
  this$static.stringTable = this$static.results[--this$static.index_0];
}

function ClientSerializationStreamReader_0(serializer){
  this.seenArray = new ArrayList_0;
  this.serializer = serializer;
}

function ClientSerializationStreamReader(){
}

_ = ClientSerializationStreamReader_0.prototype = ClientSerializationStreamReader.prototype = new AbstractSerializationStreamReader;
_.getClass$ = function getClass_164(){
  return Lcom_google_gwt_user_client_rpc_impl_ClientSerializationStreamReader_2_classLit;
}
;
_.castableTypeMap$ = {};
_.index_0 = 0;
_.results = null;
_.serializer = null;
_.stringTable = null;
function $clinit_327(){
  $clinit_327 = nullMethod;
  regex_0 = getQuotingRegex();
}

function $getObjectTypeSignature(this$static, o){
  var clazz, e, clazz_0, superclass;
  clazz = o.typeMarker$ == nullMethod || o.castableTypeMap$ && !!o.castableTypeMap$[1]?o.getClass$():Lcom_google_gwt_core_client_JavaScriptObject_2_classLit;
  if (o != null && o.castableTypeMap$ && !!o.castableTypeMap$[37]) {
    e = dynamicCast(o, 37);
    clazz = (clazz_0 = e.getClass$() , superclass = clazz_0.enumSuperclass , superclass == Ljava_lang_Enum_2_classLit?clazz_0:superclass);
  }
  return $getSerializationSignature(this$static.serializer, clazz);
}

function $toString_4(this$static){
  var buffer;
  buffer = new StringBuffer_0;
  append(buffer, '' + this$static.version);
  append(buffer, '' + this$static.flags);
  $writeStringTable(this$static, buffer);
  $append_5(buffer, this$static.encodeBuffer.impl.string);
  return buffer.impl.string;
}

function $writeStringTable(this$static, buffer){
  var s, s$iterator, stringTable;
  stringTable = this$static.stringTable;
  append(buffer, '' + stringTable.size);
  for (s$iterator = new AbstractList$IteratorImpl_0(stringTable); s$iterator.i < s$iterator.this$0_0.size_0();) {
    s = dynamicCast($next_4(s$iterator), 1);
    append(buffer, quoteString(s));
  }
  return buffer;
}

function ClientSerializationStreamWriter_0(serializer, moduleBaseURL, serializationPolicyStrongName){
  $clinit_327();
  this.objectMap = new IdentityHashMap_0;
  this.stringMap = new HashMap_0;
  this.stringTable = new ArrayList_0;
  this.serializer = serializer;
  this.moduleBaseURL = moduleBaseURL;
  this.serializationPolicyStrongName = serializationPolicyStrongName;
}

function append(sb, token){
  $clinit_327();
  sb.impl.string += token;
  sb.impl.string += '|';
}

function getQuotingRegex(){
  var ua = navigator.userAgent.toLowerCase();
  if (ua.indexOf('android') != -1) {
    return /[\u0000\|\\\u0080-\uFFFF]/g;
  }
   else if (ua.indexOf('webkit') != -1) {
    return /[\u0000\|\\\u0300-\u03ff\u0590-\u05FF\u0600-\u06ff\u0730-\u074A\u07eb-\u07f3\u0940-\u0963\u0980-\u09ff\u0a00-\u0a7f\u0b00-\u0b7f\u0e00-\u0e7f\u0f00-\u0fff\u1900-\u194f\u1a00-\u1a1f\u1b00-\u1b7f\u1dc0-\u1dff\u1f00-\u1fff\u2000-\u206f\u20d0-\u20ff\u2100-\u214f\u2300-\u23ff\u2a00-\u2aff\u3000-\u303f\uD800-\uFFFF]/g;
  }
   else {
    return /[\u0000\|\\\uD800-\uFFFF]/g;
  }
}

function quoteString(str){
  var regex = regex_0;
  var idx = 0;
  var out = '';
  var result;
  while ((result = regex.exec(str)) != null) {
    out += str.substring(idx, result.index);
    idx = result.index + 1;
    var ch = result[0].charCodeAt(0);
    if (ch == 0) {
      out += '\\0';
    }
     else if (ch == 92) {
      out += '\\\\';
    }
     else if (ch == 124) {
      out += '\\!';
    }
     else {
      var hex = ch.toString(16);
      out += '\\u0000'.substring(0, 6 - hex.length) + hex;
    }
  }
  return out + str.substring(idx);
}

function ClientSerializationStreamWriter(){
}

_ = ClientSerializationStreamWriter_0.prototype = ClientSerializationStreamWriter.prototype = new AbstractSerializationStreamWriter;
_.getClass$ = function getClass_165(){
  return Lcom_google_gwt_user_client_rpc_impl_ClientSerializationStreamWriter_2_classLit;
}
;
_.toString$ = function toString_10(){
  return $toString_4(this);
}
;
_.castableTypeMap$ = {};
_.encodeBuffer = null;
_.moduleBaseURL = null;
_.serializationPolicyStrongName = null;
_.serializer = null;
var regex_0;
--></script>
<script><!--
function $onResponseReceived(this$static, response){
  var $e0, caught, e, encodedResponse, result, statusCode;
  result = null;
  caught = null;
  try {
    encodedResponse = response.val$xmlHttpRequest.responseText;
    statusCode = response.val$xmlHttpRequest.status;
    !!$stats && $stats($bytesStat(this$static.statsContext, this$static.methodName, encodedResponse.length, 'responseReceived'));
    statusCode != 200?(caught = new StatusCodeException_0(statusCode, encodedResponse)):encodedResponse == null?(caught = new InvocationException_0('No response payload')):encodedResponse.indexOf('//OK') == 0?(result = this$static.responseReader.read($createStreamReader(this$static.streamFactory, encodedResponse))):encodedResponse.indexOf('//EX') == 0?(caught = dynamicCast($readObject($createStreamReader(this$static.streamFactory, encodedResponse)), 17)):(caught = new InvocationException_0(encodedResponse));
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 5)) {
      e = $e0;
      caught = new IncompatibleRemoteServiceException_2(e);
    }
     else if (instanceOf($e0, 17)) {
      e = $e0;
      caught = e;
    }
     else 
      throw $e0;
  }
   finally {
    !!$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'rpc', evtGroup:this$static.statsContext.requestId, method:this$static.methodName, millis:(new Date).getTime(), type:'responseDeserialized'});
  }
  try {
    !caught?this$static.callback.onSuccess(result):this$static.callback.onFailure(caught);
  }
   finally {
    !!$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'rpc', evtGroup:this$static.statsContext.requestId, method:this$static.methodName, millis:(new Date).getTime(), type:'end'});
  }
}

function RequestCallbackAdapter_0(streamFactory, methodName, statsContext, callback, responseReader){
  this.streamFactory = streamFactory;
  this.callback = callback;
  this.methodName = methodName;
  this.statsContext = statsContext;
  this.responseReader = responseReader;
}

function RequestCallbackAdapter(){
}

_ = RequestCallbackAdapter_0.prototype = RequestCallbackAdapter.prototype = new Object_0;
_.getClass$ = function getClass_166(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_2_classLit;
}
;
_.castableTypeMap$ = {};
_.callback = null;
_.methodName = null;
_.responseReader = null;
_.statsContext = null;
_.streamFactory = null;
function $clinit_329(){
  $clinit_329 = nullMethod;
  BOOLEAN = new RequestCallbackAdapter$ResponseReader$1_0;
  BYTE = new RequestCallbackAdapter$ResponseReader$2_0;
  CHAR = new RequestCallbackAdapter$ResponseReader$3_0;
  DOUBLE = new RequestCallbackAdapter$ResponseReader$4_0;
  FLOAT = new RequestCallbackAdapter$ResponseReader$5_0;
  INT = new RequestCallbackAdapter$ResponseReader$6_0;
  LONG = new RequestCallbackAdapter$ResponseReader$7_0;
  OBJECT = new RequestCallbackAdapter$ResponseReader$8_0;
  SHORT = new RequestCallbackAdapter$ResponseReader$9_0;
  STRING = new RequestCallbackAdapter$ResponseReader$10_0;
  VOID = new RequestCallbackAdapter$ResponseReader$11_0;
  $VALUES_5 = initValues(_3Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit, {36:1, 66:1}, 63, [BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, INT, LONG, OBJECT, SHORT, STRING, VOID]);
}

function values_6(){
  $clinit_329();
  return $VALUES_5;
}

function RequestCallbackAdapter$ResponseReader(){
}

_ = RequestCallbackAdapter$ResponseReader.prototype = new Enum;
_.getClass$ = function getClass_167(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 63:1, 66:1, 68:1};
var $VALUES_5, BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, INT, LONG, OBJECT, SHORT, STRING, VOID;
function RequestCallbackAdapter$ResponseReader$1_0(){
  this.name_0 = 'BOOLEAN';
  this.ordinal = 0;
}

function RequestCallbackAdapter$ResponseReader$1(){
}

_ = RequestCallbackAdapter$ResponseReader$1_0.prototype = RequestCallbackAdapter$ResponseReader$1.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_168(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$1_2_classLit;
}
;
_.read = function read(streamReader){
  return $clinit_472() , streamReader.results[--streamReader.index_0]?TRUE:FALSE;
}
;
_.castableTypeMap$ = {37:1, 63:1, 66:1, 68:1};
function RequestCallbackAdapter$ResponseReader$10_0(){
  this.name_0 = 'STRING';
  this.ordinal = 9;
}

function RequestCallbackAdapter$ResponseReader$10(){
}

_ = RequestCallbackAdapter$ResponseReader$10_0.prototype = RequestCallbackAdapter$ResponseReader$10.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_169(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$10_2_classLit;
}
;
_.read = function read_0(streamReader){
  return $getString(streamReader, streamReader.results[--streamReader.index_0]);
}
;
_.castableTypeMap$ = {37:1, 63:1, 66:1, 68:1};
function RequestCallbackAdapter$ResponseReader$11_0(){
  this.name_0 = 'VOID';
  this.ordinal = 10;
}

function RequestCallbackAdapter$ResponseReader$11(){
}

_ = RequestCallbackAdapter$ResponseReader$11_0.prototype = RequestCallbackAdapter$ResponseReader$11.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_170(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$11_2_classLit;
}
;
_.read = function read_1(streamReader){
  return null;
}
;
_.castableTypeMap$ = {37:1, 63:1, 66:1, 68:1};
function RequestCallbackAdapter$ResponseReader$2_0(){
  this.name_0 = 'BYTE';
  this.ordinal = 1;
}

function RequestCallbackAdapter$ResponseReader$2(){
}

_ = RequestCallbackAdapter$ResponseReader$2_0.prototype = RequestCallbackAdapter$ResponseReader$2.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_171(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$2_2_classLit;
}
;
_.read = function read_2(streamReader){
  return valueOf(streamReader.results[--streamReader.index_0]);
}
;
_.castableTypeMap$ = {37:1, 63:1, 66:1, 68:1};
function RequestCallbackAdapter$ResponseReader$3_0(){
  this.name_0 = 'CHAR';
  this.ordinal = 2;
}

function RequestCallbackAdapter$ResponseReader$3(){
}

_ = RequestCallbackAdapter$ResponseReader$3_0.prototype = RequestCallbackAdapter$ResponseReader$3.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_172(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$3_2_classLit;
}
;
_.read = function read_3(streamReader){
  return valueOf_0(streamReader.results[--streamReader.index_0]);
}
;
_.castableTypeMap$ = {37:1, 63:1, 66:1, 68:1};
function RequestCallbackAdapter$ResponseReader$4_0(){
  this.name_0 = 'DOUBLE';
  this.ordinal = 3;
}

function RequestCallbackAdapter$ResponseReader$4(){
}

_ = RequestCallbackAdapter$ResponseReader$4_0.prototype = RequestCallbackAdapter$ResponseReader$4.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_173(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$4_2_classLit;
}
;
_.read = function read_4(streamReader){
  return new Double_0(streamReader.results[--streamReader.index_0]);
}
;
_.castableTypeMap$ = {37:1, 63:1, 66:1, 68:1};
function RequestCallbackAdapter$ResponseReader$5_0(){
  this.name_0 = 'FLOAT';
  this.ordinal = 4;
}

function RequestCallbackAdapter$ResponseReader$5(){
}

_ = RequestCallbackAdapter$ResponseReader$5_0.prototype = RequestCallbackAdapter$ResponseReader$5.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_174(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$5_2_classLit;
}
;
_.read = function read_5(streamReader){
  return new Float_0(streamReader.results[--streamReader.index_0]);
}
;
_.castableTypeMap$ = {37:1, 63:1, 66:1, 68:1};
function RequestCallbackAdapter$ResponseReader$6_0(){
  this.name_0 = 'INT';
  this.ordinal = 5;
}

function RequestCallbackAdapter$ResponseReader$6(){
}

_ = RequestCallbackAdapter$ResponseReader$6_0.prototype = RequestCallbackAdapter$ResponseReader$6.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_175(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$6_2_classLit;
}
;
_.read = function read_6(streamReader){
  return valueOf_1(streamReader.results[--streamReader.index_0]);
}
;
_.castableTypeMap$ = {37:1, 63:1, 66:1, 68:1};
function RequestCallbackAdapter$ResponseReader$7_0(){
  this.name_0 = 'LONG';
  this.ordinal = 6;
}

function RequestCallbackAdapter$ResponseReader$7(){
}

_ = RequestCallbackAdapter$ResponseReader$7_0.prototype = RequestCallbackAdapter$ResponseReader$7.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_176(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$7_2_classLit;
}
;
_.read = function read_7(streamReader){
  var s;
  return valueOf_2((s = streamReader.results[--streamReader.index_0] , longFromBase64(s)));
}
;
_.castableTypeMap$ = {37:1, 63:1, 66:1, 68:1};
function RequestCallbackAdapter$ResponseReader$8_0(){
  this.name_0 = 'OBJECT';
  this.ordinal = 7;
}

function RequestCallbackAdapter$ResponseReader$8(){
}

_ = RequestCallbackAdapter$ResponseReader$8_0.prototype = RequestCallbackAdapter$ResponseReader$8.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_177(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$8_2_classLit;
}
;
_.read = function read_8(streamReader){
  return $readObject(streamReader);
}
;
_.castableTypeMap$ = {37:1, 63:1, 66:1, 68:1};
function RequestCallbackAdapter$ResponseReader$9_0(){
  this.name_0 = 'SHORT';
  this.ordinal = 8;
}

function RequestCallbackAdapter$ResponseReader$9(){
}

_ = RequestCallbackAdapter$ResponseReader$9_0.prototype = RequestCallbackAdapter$ResponseReader$9.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_178(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$9_2_classLit;
}
;
_.read = function read_9(streamReader){
  return valueOf_3(streamReader.results[--streamReader.index_0]);
}
;
_.castableTypeMap$ = {37:1, 63:1, 66:1, 68:1};
function $bytesStat(this$static, method, bytes, eventType){
  var stat = this$static.timeStat(method, eventType);
  stat.bytes = bytes;
  return stat;
}

function RpcStatsContext_0(){
  this.requestId = requestIdCounter++;
}

function RpcStatsContext(){
}

_ = RpcStatsContext_0.prototype = RpcStatsContext.prototype = new Object_0;
_.getClass$ = function getClass_179(){
  return Lcom_google_gwt_user_client_rpc_impl_RpcStatsContext_2_classLit;
}
;
_.timeStat = function timeStat(method, eventType){
  return {moduleName:$moduleName, sessionId:$sessionId, subSystem:'rpc', evtGroup:this.requestId, method:method, millis:(new Date).getTime(), type:eventType};
}
;
_.castableTypeMap$ = {};
_.requestId = 0;
var requestIdCounter = 0;
function $deserialize_1(this$static, stream, instance, signature){
  this$static[signature][1](stream, instance);
}

function $instantiate_0(this$static, stream, signature){
  return this$static[signature][0](stream);
}

function $serialize_0(this$static, stream, instance, signature){
  this$static[signature][2](stream, instance);
}

function Panel(){
}

_ = Panel.prototype = new Widget;
_.doAttachChildren = function doAttachChildren_0(){
  tryCommand(this, ($clinit_350() , attachCommand));
}
;
_.doDetachChildren = function doDetachChildren_0(){
  tryCommand(this, ($clinit_350() , detachCommand));
}
;
_.getClass$ = function getClass_180(){
  return Lcom_google_gwt_user_client_ui_Panel_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 41:1, 57:1, 58:1, 64:1};
function $add(this$static, child, container){
  $removeFromParent(child);
  $add_3(this$static.children, child);
  container.appendChild(child.element);
  $setParent(child, this$static);
}

function $remove_0(this$static, w){
  var elem;
  if (w.parent_0 != this$static) {
    return false;
  }
  try {
    $setParent(w, null);
  }
   finally {
    elem = w.element;
    $getParentElement(elem).removeChild(elem);
    $remove_5(this$static.children, w);
  }
  return true;
}

function ComplexPanel(){
}

_ = ComplexPanel.prototype = new Panel;
_.getClass$ = function getClass_181(){
  return Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit;
}
;
_.iterator_0 = function iterator(){
  return new WidgetCollection$WidgetIterator_0(this.children);
}
;
_.remove_0 = function remove_1(w){
  return $remove_0(this, w);
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 41:1, 57:1, 58:1, 64:1};
function $add_0(this$static, w){
  $add(this$static, w, this$static.element);
}

function $remove_1(this$static, w){
  var removed;
  removed = $remove_0(this$static, w);
  removed && changeToStaticPositioning(w.element);
  return removed;
}

function changeToStaticPositioning(elem){
  elem.style['left'] = '';
  elem.style['top'] = '';
  elem.style['position'] = '';
}

function AbsolutePanel(){
}

_ = AbsolutePanel.prototype = new ComplexPanel;
_.getClass$ = function getClass_182(){
  return Lcom_google_gwt_user_client_ui_AbsolutePanel_2_classLit;
}
;
_.remove_0 = function remove_2(w){
  var removed;
  return removed = $remove_0(this, w) , removed && changeToStaticPositioning(w.element) , removed;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 41:1, 57:1, 58:1, 64:1};
function $onAttach_0(this$static){
  var tabIndex;
  $onAttach(this$static);
  tabIndex = this$static.getTabIndex();
  -1 == tabIndex && this$static.setTabIndex(0);
}

function FocusWidget(){
}

_ = FocusWidget.prototype = new Widget;
_.getClass$ = function getClass_183(){
  return Lcom_google_gwt_user_client_ui_FocusWidget_2_classLit;
}
;
_.getTabIndex = function getTabIndex(){
  return this.element.tabIndex;
}
;
_.onAttach = function onAttach_0(){
  $onAttach_0(this);
}
;
_.setTabIndex = function setTabIndex(index){
  this.element.tabIndex = index;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
function Anchor_2(text){
  this.element = $doc.createElement('a');
  this.element['className'] = 'gwt-Anchor';
  this.directionalTextHelper = new DirectionalTextHelper_0(this.element);
  $setTextOrHtml(this.directionalTextHelper, text);
  this.element.href = 'javascript:;';
}

function Anchor_0(){
}

_ = Anchor_2.prototype = Anchor_0.prototype = new FocusWidget;
_.getClass$ = function getClass_184(){
  return Lcom_google_gwt_user_client_ui_Anchor_2_classLit;
}
;
_.getTabIndex = function getTabIndex_0(){
  return this.element.tabIndex;
}
;
_.setTabIndex = function setTabIndex_0(index){
  this.element.tabIndex = index;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
_.directionalTextHelper = null;
function $clinit_350(){
  $clinit_350 = nullMethod;
  attachCommand = new AttachDetachException$1_0;
  detachCommand = new AttachDetachException$2_0;
}

function AttachDetachException_0(causes){
  UmbrellaException_0.call(this, causes);
}

function tryCommand(hasWidgets, c){
  var old;
  $clinit_350();
  var $e0, caught, e, w, w$iterator;
  caught = null;
  for (w$iterator = hasWidgets.iterator_0(); w$iterator.hasNext();) {
    w = dynamicCast(w$iterator.next_0(), 39);
    try {
      c.execute_1(w);
    }
     catch ($e0) {
      $e0 = caught_0($e0);
      if (instanceOf($e0, 17)) {
        e = $e0;
        !caught && (caught = new HashSet_0);
        old = $put_0(caught.map, e, caught);
      }
       else 
        throw $e0;
    }
  }
  if (caught) {
    throw new AttachDetachException_0(caught);
  }
}

function AttachDetachException(){
}

_ = AttachDetachException_0.prototype = AttachDetachException.prototype = new UmbrellaException;
_.getClass$ = function getClass_185(){
  return Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
var attachCommand, detachCommand;
function AttachDetachException$1_0(){
}

function AttachDetachException$1(){
}

_ = AttachDetachException$1_0.prototype = AttachDetachException$1.prototype = new Object_0;
_.execute_1 = function execute_7(w){
  w.onAttach();
}
;
_.getClass$ = function getClass_186(){
  return Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit;
}
;
_.castableTypeMap$ = {};
function AttachDetachException$2_0(){
}

function AttachDetachException$2(){
}

_ = AttachDetachException$2_0.prototype = AttachDetachException$2.prototype = new Object_0;
_.execute_1 = function execute_8(w){
  w.onDetach();
}
;
_.getClass$ = function getClass_187(){
  return Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit;
}
;
_.castableTypeMap$ = {};
function ButtonBase(){
}

_ = ButtonBase.prototype = new FocusWidget;
_.getClass$ = function getClass_188(){
  return Lcom_google_gwt_user_client_ui_ButtonBase_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
function Button_1(){
  var e;
  this.element = (e = $doc.createElement('BUTTON') , e.type = 'button' , e);
  this.element['className'] = 'gwt-Button';
  this.element.innerHTML = 'Add';
}

function Button(){
}

_ = Button_1.prototype = Button.prototype = new ButtonBase;
_.getClass$ = function getClass_189(){
  return Lcom_google_gwt_user_client_ui_Button_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
function CellPanel_0(){
  this.children = new WidgetCollection_0(this);
  this.table = $doc.createElement('table');
  this.body_0 = $doc.createElement('tbody');
  this.table.appendChild(this.body_0);
  this.element = this.table;
}

function CellPanel(){
}

_ = CellPanel.prototype = new ComplexPanel;
_.getClass$ = function getClass_190(){
  return Lcom_google_gwt_user_client_ui_CellPanel_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 41:1, 57:1, 58:1, 64:1};
_.body_0 = null;
_.table = null;
function $initWidget(this$static, widget){
  if (this$static.widget) {
    throw new IllegalStateException_1('Composite.initWidget() may only be called once.');
  }
  $removeFromParent(widget);
  $setElement(this$static, widget.element);
  this$static.widget = widget;
  $setParent(widget, this$static);
}

function $isAttached_0(this$static){
  if (this$static.widget) {
    return this$static.widget.isAttached();
  }
  return false;
}

function Composite(){
}

_ = Composite.prototype = new Widget;
_.getClass$ = function getClass_191(){
  return Lcom_google_gwt_user_client_ui_Composite_2_classLit;
}
;
_.isAttached = function isAttached_0(){
  return $isAttached_0(this);
}
;
_.onAttach = function onAttach_1(){
  if (this.eventsToSink != -1) {
    $sinkEvents(this.widget, this.eventsToSink);
    this.eventsToSink = -1;
  }
  this.widget.onAttach();
  this.element.__listener = this;
  this.onLoad();
}
;
_.onBrowserEvent_0 = function onBrowserEvent_3(event_0){
  $onBrowserEvent_0(this, event_0);
  this.widget.onBrowserEvent_0(event_0);
}
;
_.onDetach = function onDetach_0(){
  this.widget.onDetach();
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
_.widget = null;
function $cleanupCaptureState(this$static){
  if (this$static.isCapturing || this$static.isFocusing) {
    releaseCapture(this$static.element);
    this$static.isCapturing = false;
    this$static.isFocusing = false;
    (1 & (!this$static.curFace && $setCurrentFace(this$static, this$static.up) , this$static.curFace.val$faceID)) > 0 && $toggleDown(this$static);
  }
}

function $getFaceFromID(this$static, id){
  switch (id) {
    case 1:
      return !this$static.down && (this$static.down = new CustomButton$2_0(this$static, this$static.up, 'down', 1) , undefined) , this$static.down;
    case 0:
      return this$static.up;
    case 3:
      return !this$static.downHovering && $setDownHoveringFace(this$static, new CustomButton$2_0(this$static, (!this$static.down && (this$static.down = new CustomButton$2_0(this$static, this$static.up, 'down', 1) , undefined) , this$static.down), 'down-hovering', 3)) , this$static.downHovering;
    case 2:
      return !this$static.upHovering && (this$static.upHovering = new CustomButton$2_0(this$static, this$static.up, 'up-hovering', 2) , undefined) , this$static.upHovering;
    case 4:
      return !this$static.upDisabled && (this$static.upDisabled = new CustomButton$2_0(this$static, this$static.up, 'up-disabled', 4) , undefined) , this$static.upDisabled;
    case 5:
      return !this$static.downDisabled && $setDownDisabledFace(this$static, new CustomButton$2_0(this$static, (!this$static.down && (this$static.down = new CustomButton$2_0(this$static, this$static.up, 'down', 1) , undefined) , this$static.down), 'down-disabled', 5)) , this$static.downDisabled;
    default:throw new IllegalStateException_1(id + ' is not a known face id.');
  }
}

function $onClick(this$static){
  var evt;
  this$static.allowClick = true;
  evt = $createMouseEvent($doc, 'click', true, true, 1, 0, 0, 0, 0, false, false, false, false, 1, null);
  this$static.element.dispatchEvent(evt);
  this$static.allowClick = false;
}

function $setCurrentFace(this$static, newFace){
  var pressed;
  if (this$static.curFace != newFace) {
    !!this$static.curFace && $setStyleDependentName(this$static, this$static.curFace.val$name, false);
    this$static.curFace = newFace;
    $setCurrentFaceElement(this$static, $getFace(newFace));
    $setStyleDependentName(this$static, this$static.curFace.val$name, true);
    !this$static.element['disabled'] && (pressed = (newFace.val$faceID & 1) == 1 , this$static.element.setAttribute('aria-pressed', pressed?'true':'false') , undefined);
  }
}

function $setCurrentFaceElement(this$static, newFaceElement){
  if (this$static.curFaceElement != newFaceElement) {
    !!this$static.curFaceElement && this$static.element.removeChild(this$static.curFaceElement);
    this$static.curFaceElement = newFaceElement;
    this$static.element.appendChild(this$static.curFaceElement);
  }
}

function $setDownDisabledFace(this$static, downDisabled){
  this$static.downDisabled = downDisabled;
}

function $setDownHoveringFace(this$static, downHovering){
  this$static.downHovering = downHovering;
}

function $toggleDown(this$static){
  var newFaceID, newFace;
  newFaceID = (!this$static.curFace && $setCurrentFace(this$static, this$static.up) , this$static.curFace.val$faceID) ^ 1;
  newFace = $getFaceFromID(this$static, newFaceID);
  $setCurrentFace(this$static, newFace);
}

function $toggleHover(this$static){
  var newFaceID, newFace;
  newFaceID = (!this$static.curFace && $setCurrentFace(this$static, this$static.up) , this$static.curFace.val$faceID) ^ 2;
  newFaceID &= -5;
  newFace = $getFaceFromID(this$static, newFaceID);
  $setCurrentFace(this$static, newFace);
}

function CustomButton(){
}

_ = CustomButton.prototype = new ButtonBase;
_.getClass$ = function getClass_192(){
  return Lcom_google_gwt_user_client_ui_CustomButton_2_classLit;
}
;
_.getTabIndex = function getTabIndex_1(){
  return this.element.tabIndex;
}
;
_.onAttach = function onAttach_2(){
  !this.curFace && $setCurrentFace(this, this.up);
  $onAttach_0(this);
}
;
_.onBrowserEvent_0 = function onBrowserEvent_4(event_0){
  var keyCode, to, type;
  if (this.element['disabled']) {
    return;
  }
  type = $eventGetTypeInt(event_0.type);
  switch (type) {
    case 1:
      if (!this.allowClick) {
        event_0.stopPropagation();
        return;
      }

      break;
    case 4:
      if ($eventGetButton(event_0) == 1) {
        this.element.focus();
        (1 & (!this.curFace && $setCurrentFace(this, this.up) , this.curFace.val$faceID)) <= 0 && $toggleDown(this);
        setCapture(this.element);
        this.isCapturing = true;
        event_0.preventDefault();
      }

      break;
    case 8:
      if (this.isCapturing) {
        this.isCapturing = false;
        releaseCapture(this.element);
        (2 & (!this.curFace && $setCurrentFace(this, this.up) , this.curFace).val$faceID) > 0 && $eventGetButton(event_0) == 1 && ((1 & (!this.curFace && $setCurrentFace(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleDown(this) , $onClick(this));
      }

      break;
    case 64:
      this.isCapturing && (event_0.preventDefault() , undefined);
      break;
    case 32:
      to = $eventGetToElement(event_0);
      if (isOrHasChild(this.element, event_0.target) && (!to || !isOrHasChild(this.element, to))) {
        this.isCapturing && (1 & (!this.curFace && $setCurrentFace(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleDown(this);
        (2 & (!this.curFace && $setCurrentFace(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleHover(this);
      }

      break;
    case 16:
      if (isOrHasChild(this.element, event_0.target)) {
        (2 & (!this.curFace && $setCurrentFace(this, this.up) , this.curFace.val$faceID)) <= 0 && $toggleHover(this);
        this.isCapturing && (1 & (!this.curFace && $setCurrentFace(this, this.up) , this.curFace.val$faceID)) <= 0 && $toggleDown(this);
      }

      break;
    case 4096:
      if (this.isFocusing) {
        this.isFocusing = false;
        (1 & (!this.curFace && $setCurrentFace(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleDown(this);
      }

      break;
    case 8192:
      if (this.isCapturing) {
        this.isCapturing = false;
        (1 & (!this.curFace && $setCurrentFace(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleDown(this);
      }

  }
  $onBrowserEvent_0(this, event_0);
  if (($eventGetTypeInt(event_0.type) & 896) != 0) {
    keyCode = (event_0.keyCode || 0) & 65535;
    switch (type) {
      case 128:
        if (keyCode == 32) {
          this.isFocusing = true;
          (1 & (!this.curFace && $setCurrentFace(this, this.up) , this.curFace.val$faceID)) <= 0 && $toggleDown(this);
        }

        break;
      case 512:
        if (this.isFocusing && keyCode == 32) {
          this.isFocusing = false;
          (1 & (!this.curFace && $setCurrentFace(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleDown(this);
          $onClick(this);
        }

        break;
      case 256:
        if (keyCode == 10 || keyCode == 13) {
          (1 & (!this.curFace && $setCurrentFace(this, this.up) , this.curFace.val$faceID)) <= 0 && $toggleDown(this);
          (1 & (!this.curFace && $setCurrentFace(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleDown(this);
          $onClick(this);
        }

    }
  }
}
;
_.onDetach = function onDetach_1(){
  $onDetach(this);
  $cleanupCaptureState(this);
  (2 & (!this.curFace && $setCurrentFace(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleHover(this);
}
;
_.setTabIndex = function setTabIndex_1(index){
  this.element.tabIndex = index;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
_.allowClick = false;
_.curFace = null;
_.curFaceElement = null;
_.down = null;
_.downDisabled = null;
_.downHovering = null;
_.isCapturing = false;
_.isFocusing = false;
_.up = null;
_.upDisabled = null;
_.upHovering = null;
function $getFace(this$static){
  if (!this$static.face) {
    if (!this$static.delegateTo) {
      this$static.face = $doc.createElement('div');
      return this$static.face;
    }
     else {
      return $getFace(this$static.delegateTo);
    }
  }
   else {
    return this$static.face;
  }
}

function $setHTML(this$static, html){
  this$static.face = $doc.createElement('div');
  setStyleName_0(this$static.face, 'html-face', true);
  this$static.face.innerHTML = html || '';
  !!this$static.this$0.curFace && $getFace(this$static.this$0.curFace) == $getFace(this$static) && $setCurrentFaceElement(this$static.this$0, this$static.face);
}

function CustomButton$Face(){
}

_ = CustomButton$Face.prototype = new Object_0;
_.getClass$ = function getClass_193(){
  return Lcom_google_gwt_user_client_ui_CustomButton$Face_2_classLit;
}
;
_.toString$ = function toString_11(){
  return this.val$name;
}
;
_.castableTypeMap$ = {};
_.delegateTo = null;
_.face = null;
_.this$0 = null;
function CustomButton$2_0(this$0, $anonymous0, val$name, val$faceID){
  this.val$name = val$name;
  this.val$faceID = val$faceID;
  this.this$0 = this$0;
  this.delegateTo = $anonymous0;
}

function CustomButton$2(){
}

_ = CustomButton$2_0.prototype = CustomButton$2.prototype = new CustomButton$Face;
_.getClass$ = function getClass_194(){
  return Lcom_google_gwt_user_client_ui_CustomButton$2_2_classLit;
}
;
_.castableTypeMap$ = {};
_.val$faceID = 0;
_.val$name = null;
function $setTextOrHtml(this$static, content_0){
  this$static.element.textContent = content_0 || '';
  if (this$static.textDir != this$static.initialElementDir) {
    this$static.textDir = this$static.initialElementDir;
    setDirectionOnElement(this$static.element, this$static.initialElementDir);
  }
}

function DirectionalTextHelper_0(element){
  this.element = element;
  this.initialElementDir = getDirectionOnElement(element);
  this.textDir = this.initialElementDir;
}

function DirectionalTextHelper(){
}

_ = DirectionalTextHelper_0.prototype = DirectionalTextHelper.prototype = new Object_0;
_.getClass$ = function getClass_195(){
  return Lcom_google_gwt_user_client_ui_DirectionalTextHelper_2_classLit;
}
;
_.castableTypeMap$ = {};
_.element = null;
_.initialElementDir = null;
_.textDir = null;
function $checkCellBounds(this$static, row, column){
  var cellSize;
  $checkRowBounds_0(this$static, row);
  if (column < 0) {
    throw new IndexOutOfBoundsException_1('Column ' + column + ' must be non-negative: ' + column);
  }
  cellSize = this$static.numColumns;
  if (cellSize <= column) {
    throw new IndexOutOfBoundsException_1('Column index: ' + column + ', Column size: ' + this$static.numColumns);
  }
}

--></script>
<script><!--
function $checkRowBounds_0(this$static, row){
  var rowSize;
  rowSize = this$static.numRows;
  if (row >= rowSize || row < 0) {
    throw new IndexOutOfBoundsException_1('Row index: ' + row + ', Row size: ' + rowSize);
  }
}

function $getEventTargetCell(this$static, event_0){
  var body, td, tr;
  td = event_0.target;
  for (; td; td = $getParentElement(td)) {
    if ($equalsIgnoreCase(td['tagName'] == null?null:String(td['tagName']), 'td')) {
      tr = $getParentElement(td);
      body = $getParentElement(tr);
      if (body == this$static.bodyElem) {
        return td;
      }
    }
    if (td == this$static.bodyElem) {
      return null;
    }
  }
  return null;
}

function $internalClearCell(this$static, td, clearInnerHTML){
  var maybeChild, widget;
  maybeChild = $getFirstChildElement(td);
  widget = null;
  !!maybeChild && (widget = dynamicCast($get_1(this$static.widgetMap, maybeChild), 39));
  if (widget) {
    $remove_2(this$static, widget);
    return true;
  }
   else {
    clearInnerHTML && (td.innerHTML = '' , undefined);
    return false;
  }
}

function $remove_2(this$static, widget){
  var elem;
  if (widget.parent_0 != this$static) {
    return false;
  }
  try {
    $setParent(widget, null);
  }
   finally {
    elem = widget.element;
    $getParentElement(elem).removeChild(elem);
    $removeByElement(this$static.widgetMap, elem);
  }
  return true;
}

function $removeRow(this$static, row){
  var column, columnCount, td;
  columnCount = this$static.numColumns;
  for (column = 0; column < columnCount; ++column) {
    td = this$static.cellFormatter.this$0.bodyElem.rows[row].cells[column];
    $internalClearCell(this$static, td, false);
  }
  this$static.bodyElem.removeChild(this$static.bodyElem.rows[row]);
}

function $setColumnFormatter(this$static, formatter){
  !!this$static.columnFormatter && (formatter.columnGroup = this$static.columnFormatter.columnGroup);
  this$static.columnFormatter = formatter;
  $prepareColumnGroup(this$static.columnFormatter);
}

function $setText(this$static, column, text){
  var td, td_0;
  $prepareCell(this$static, column);
  td = (td_0 = this$static.cellFormatter.this$0.bodyElem.rows[0].cells[column] , $internalClearCell(this$static, td_0, text == null) , td_0);
  text != null && (td.textContent = text || '' , undefined);
}

function $setWidget(this$static, column, widget){
  var td, td_0;
  $prepareCell(this$static, column);
  if (widget) {
    $removeFromParent(widget);
    td = (td_0 = this$static.cellFormatter.this$0.bodyElem.rows[0].cells[column] , $internalClearCell(this$static, td_0, true) , td_0);
    $put(this$static.widgetMap, widget);
    td.appendChild(widget.element);
    $setParent(widget, this$static);
  }
}

function HTMLTable(){
}

_ = HTMLTable.prototype = new Panel;
_.getClass$ = function getClass_196(){
  return Lcom_google_gwt_user_client_ui_HTMLTable_2_classLit;
}
;
_.iterator_0 = function iterator_0(){
  return new HTMLTable$1_0(this);
}
;
_.remove_0 = function remove_3(widget){
  return $remove_2(this, widget);
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 41:1, 57:1, 58:1, 64:1};
_.bodyElem = null;
_.cellFormatter = null;
_.columnFormatter = null;
_.tableElem = null;
function $prepareCell(this$static, column){
  $prepareRow(this$static);
  if (column < 0) {
    throw new IndexOutOfBoundsException_1('Cannot access a column with a negative index: ' + column);
  }
  if (column >= this$static.numColumns) {
    throw new IndexOutOfBoundsException_1('Column index: ' + column + ', Column size: ' + this$static.numColumns);
  }
}

function $prepareRow(this$static){
  if (0 >= this$static.numRows) {
    throw new IndexOutOfBoundsException_1('Row index: 0, Row size: ' + this$static.numRows);
  }
}

function $removeRow_0(this$static, row){
  $removeRow(this$static, row);
  --this$static.numRows;
}

function $resizeColumns(this$static, columns){
  var i, j, td, tr, td_0, td_1, tr_0, td_2;
  if (this$static.numColumns == columns) {
    return;
  }
  if (columns < 0) {
    throw new IndexOutOfBoundsException_1('Cannot set number of columns to ' + columns);
  }
  if (this$static.numColumns > columns) {
    for (i = 0; i < this$static.numRows; ++i) {
      for (j = this$static.numColumns - 1; j >= columns; --j) {
        $checkCellBounds(this$static, i, j);
        td = (td_0 = this$static.cellFormatter.this$0.bodyElem.rows[i].cells[j] , $internalClearCell(this$static, td_0, false) , td_0);
        tr = this$static.bodyElem.rows[i];
        tr.removeChild(td);
      }
    }
  }
   else {
    for (i = 0; i < this$static.numRows; ++i) {
      for (j = this$static.numColumns; j < columns; ++j) {
        tr_0 = this$static.bodyElem.rows[i];
        td_1 = (td_2 = $doc.createElement('td') , td_2.innerHTML = '&nbsp;' , td_2);
        $insertChild(tr_0, td_1, j);
      }
    }
  }
  this$static.numColumns = columns;
  $resizeColumnGroup(this$static.columnFormatter, columns, false);
}

function $resizeRows(this$static, rows){
  if (this$static.numRows == rows) {
    return;
  }
  if (rows < 0) {
    throw new IndexOutOfBoundsException_1('Cannot set number of rows to ' + rows);
  }
  if (this$static.numRows < rows) {
    addRows(this$static.bodyElem, rows - this$static.numRows, this$static.numColumns);
    this$static.numRows = rows;
  }
   else {
    while (this$static.numRows > rows) {
      $removeRow_0(this$static, this$static.numRows - 1);
    }
  }
}

function Grid_0(){
  this.widgetMap = new ElementMapperImpl_0;
  this.tableElem = $doc.createElement('table');
  this.bodyElem = $doc.createElement('tbody');
  this.tableElem.appendChild(this.bodyElem);
  this.element = this.tableElem;
  this.cellFormatter = new HTMLTable$CellFormatter_0(this);
  $setColumnFormatter(this, new HTMLTable$ColumnFormatter_0(this));
}

function Grid_1(){
  Grid_0.call(this);
  $resizeColumns(this, 3);
  $resizeRows(this, 1);
}

function addRows(table, rows, columns){
  var td = $doc.createElement('td');
  td.innerHTML = '&nbsp;';
  var row = $doc.createElement('tr');
  for (var cellNum = 0; cellNum < columns; cellNum++) {
    var cell = td.cloneNode(true);
    row.appendChild(cell);
  }
  table.appendChild(row);
  for (var rowNum = 1; rowNum < rows; rowNum++) {
    table.appendChild(row.cloneNode(true));
  }
}

function Grid(){
}

_ = Grid_1.prototype = Grid.prototype = new HTMLTable;
_.getClass$ = function getClass_197(){
  return Lcom_google_gwt_user_client_ui_Grid_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 41:1, 57:1, 58:1, 64:1};
_.numColumns = 0;
_.numRows = 0;
function $findNext(this$static){
  while (++this$static.nextIndex < this$static.widgetList.size) {
    if ($get_4(this$static.widgetList, this$static.nextIndex) != null) {
      return;
    }
  }
}

function $next_0(this$static){
  var result;
  if (this$static.nextIndex >= this$static.widgetList.size) {
    throw new NoSuchElementException_0;
  }
  result = dynamicCast($get_4(this$static.widgetList, this$static.nextIndex), 39);
  this$static.lastIndex = this$static.nextIndex;
  $findNext(this$static);
  return result;
}

function HTMLTable$1_0(this$0){
  this.this$0 = this$0;
  this.widgetList = this.this$0.widgetMap.uiObjectList;
  $findNext(this);
}

function HTMLTable$1(){
}

_ = HTMLTable$1_0.prototype = HTMLTable$1.prototype = new Object_0;
_.getClass$ = function getClass_198(){
  return Lcom_google_gwt_user_client_ui_HTMLTable$1_2_classLit;
}
;
_.hasNext = function hasNext_0(){
  return this.nextIndex < this.widgetList.size;
}
;
_.next_0 = function next_1(){
  return $next_0(this);
}
;
_.remove = function remove_4(){
  var w;
  if (this.lastIndex < 0) {
    throw new IllegalStateException_0;
  }
  w = dynamicCast($get_4(this.widgetList, this.lastIndex), 39);
  $removeFromParent(w);
  this.lastIndex = -1;
}
;
_.castableTypeMap$ = {};
_.lastIndex = -1;
_.nextIndex = -1;
_.this$0 = null;
function $setStyleName_1(this$static, column, styleName){
  $prepareCell(this$static.this$0, column);
  this$static.this$0.bodyElem.rows[0].cells[column]['className'] = styleName;
}

function HTMLTable$CellFormatter_0(this$0){
  this.this$0 = this$0;
}

function HTMLTable$CellFormatter(){
}

_ = HTMLTable$CellFormatter_0.prototype = HTMLTable$CellFormatter.prototype = new Object_0;
_.getClass$ = function getClass_199(){
  return Lcom_google_gwt_user_client_ui_HTMLTable$CellFormatter_2_classLit;
}
;
_.castableTypeMap$ = {};
_.this$0 = null;
function $prepareColumnGroup(this$static){
  if (!this$static.columnGroup) {
    this$static.columnGroup = $doc.createElement('colgroup');
    $insertChild(this$static.this$0.tableElem, this$static.columnGroup, 0);
    this$static.columnGroup.appendChild($doc.createElement('col'));
  }
}

function $resizeColumnGroup(this$static, columns, growOnly){
  var i, num;
  columns = columns > 1?columns:1;
  num = this$static.columnGroup.childNodes.length;
  if (num < columns) {
    for (i = num; i < columns; ++i) {
      this$static.columnGroup.appendChild($doc.createElement('col'));
    }
  }
   else if (!growOnly && num > columns) {
    for (i = num; i > columns; --i) {
      this$static.columnGroup.removeChild(this$static.columnGroup.lastChild);
    }
  }
}

function HTMLTable$ColumnFormatter_0(this$0){
  this.this$0 = this$0;
}

function HTMLTable$ColumnFormatter(){
}

_ = HTMLTable$ColumnFormatter_0.prototype = HTMLTable$ColumnFormatter.prototype = new Object_0;
_.getClass$ = function getClass_200(){
  return Lcom_google_gwt_user_client_ui_HTMLTable$ColumnFormatter_2_classLit;
}
;
_.castableTypeMap$ = {};
_.columnGroup = null;
_.this$0 = null;
function $clinit_377(){
  $clinit_377 = nullMethod;
  new HasHorizontalAlignment$HorizontalAlignmentConstant_0('center');
  new HasHorizontalAlignment$HorizontalAlignmentConstant_0('justify');
  ALIGN_LEFT = new HasHorizontalAlignment$HorizontalAlignmentConstant_0('left');
  new HasHorizontalAlignment$HorizontalAlignmentConstant_0('right');
  ALIGN_LOCALE_START = ($clinit_193() , ALIGN_LEFT);
  ALIGN_DEFAULT = ALIGN_LOCALE_START;
}

var ALIGN_DEFAULT, ALIGN_LEFT, ALIGN_LOCALE_START;
function HasHorizontalAlignment$AutoHorizontalAlignmentConstant(){
}

_ = HasHorizontalAlignment$AutoHorizontalAlignmentConstant.prototype = new Object_0;
_.getClass$ = function getClass_201(){
  return Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$AutoHorizontalAlignmentConstant_2_classLit;
}
;
_.castableTypeMap$ = {};
function HasHorizontalAlignment$HorizontalAlignmentConstant_0(textAlignString){
  this.textAlignString = textAlignString;
}

function HasHorizontalAlignment$HorizontalAlignmentConstant(){
}

_ = HasHorizontalAlignment$HorizontalAlignmentConstant_0.prototype = HasHorizontalAlignment$HorizontalAlignmentConstant.prototype = new HasHorizontalAlignment$AutoHorizontalAlignmentConstant;
_.getClass$ = function getClass_202(){
  return Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_2_classLit;
}
;
_.castableTypeMap$ = {};
_.textAlignString = null;
function $clinit_384(){
  $clinit_384 = nullMethod;
  new HasVerticalAlignment$VerticalAlignmentConstant_0('bottom');
  new HasVerticalAlignment$VerticalAlignmentConstant_0('middle');
  ALIGN_TOP = new HasVerticalAlignment$VerticalAlignmentConstant_0('top');
}

var ALIGN_TOP;
function HasVerticalAlignment$VerticalAlignmentConstant_0(verticalAlignString){
  this.verticalAlignString = verticalAlignString;
}

function HasVerticalAlignment$VerticalAlignmentConstant(){
}

_ = HasVerticalAlignment$VerticalAlignmentConstant_0.prototype = HasVerticalAlignment$VerticalAlignmentConstant.prototype = new Object_0;
_.getClass$ = function getClass_203(){
  return Lcom_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_2_classLit;
}
;
_.castableTypeMap$ = {};
_.verticalAlignString = null;
function $add_1(this$static, w){
  var td, td_0;
  td = (td_0 = $doc.createElement('td') , td_0['align'] = this$static.horzAlign.textAlignString , td_0.style['verticalAlign'] = this$static.vertAlign.verticalAlignString , td_0);
  this$static.tableRow.appendChild(td);
  $removeFromParent(w);
  $add_3(this$static.children, w);
  td.appendChild(w.element);
  $setParent(w, this$static);
}

function HorizontalPanel_0(){
  CellPanel_0.call(this);
  this.horzAlign = ($clinit_377() , ALIGN_DEFAULT);
  this.vertAlign = ($clinit_384() , ALIGN_TOP);
  this.tableRow = $doc.createElement('tr');
  this.body_0.appendChild(this.tableRow);
  this.table['cellSpacing'] = '0';
  this.table['cellPadding'] = '0';
}

function HorizontalPanel(){
}

_ = HorizontalPanel_0.prototype = HorizontalPanel.prototype = new CellPanel;
_.getClass$ = function getClass_204(){
  return Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classLit;
}
;
_.remove_0 = function remove_5(w){
  var removed, td, parent_0;
  td = (parent_0 = w.element.parentNode , (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null) , parent_0);
  removed = $remove_0(this, w);
  removed && this.tableRow.removeChild(td);
  return removed;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 41:1, 57:1, 58:1, 64:1};
_.tableRow = null;
function LabelBase(){
}

_ = LabelBase.prototype = new Widget;
_.getClass$ = function getClass_205(){
  return Lcom_google_gwt_user_client_ui_LabelBase_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
_.directionalTextHelper = null;
function Label_1(){
  this.element = $doc.createElement('div');
  this.directionalTextHelper = new DirectionalTextHelper_0(this.element);
  this.element['className'] = 'gwt-Label';
  $setTextOrHtml(this.directionalTextHelper, 'Please sign in to your Google Account to access the Achieving Dreams volunteer application.');
}

function Label(){
}

_ = Label_1.prototype = Label.prototype = new LabelBase;
_.getClass$ = function getClass_206(){
  return Lcom_google_gwt_user_client_ui_Label_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
function $remove_3(this$static, w){
  if (this$static.widget != w) {
    return false;
  }
  try {
    $setParent(w, null);
  }
   finally {
    this$static.getContainerElement().removeChild(w.element);
    this$static.widget = null;
  }
  return true;
}

function $setWidget_0(this$static, w){
  if (w == this$static.widget) {
    return;
  }
  !!w && $removeFromParent(w);
  !!this$static.widget && $remove_3(this$static, this$static.widget);
  this$static.widget = w;
  if (w) {
    $getContainerElement_1($getFirstChildElement(this$static.element)).appendChild(this$static.widget.element);
    $setParent(w, this$static);
  }
}

function SimplePanel(){
}

_ = SimplePanel.prototype = new Panel;
_.getClass$ = function getClass_207(){
  return Lcom_google_gwt_user_client_ui_SimplePanel_2_classLit;
}
;
_.getContainerElement = function getContainerElement(){
  return this.element;
}
;
_.iterator_0 = function iterator_1(){
  return new SimplePanel$1_0(this);
}
;
_.remove_0 = function remove_6(w){
  return $remove_3(this, w);
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 41:1, 57:1, 58:1, 64:1};
_.widget = null;
function $clinit_398(){
  $clinit_398 = nullMethod;
  $clinit_432();
}

function $addAutoHidePartner(this$static, partner){
  !this$static.autoHidePartners && (this$static.autoHidePartners = new ArrayList_0);
  $add_4(this$static.autoHidePartners, partner);
}

function $eventTargetsPartner(this$static, event_0){
  var elem, elem$iterator, target;
  if (!this$static.autoHidePartners) {
    return false;
  }
  target = event_0.target;
  if (is_0(target)) {
    for (elem$iterator = new AbstractList$IteratorImpl_0(this$static.autoHidePartners); elem$iterator.i < elem$iterator.this$0_0.size_0();) {
      elem = dynamicCastJso($next_4(elem$iterator));
      if (elem === target || !!(elem.compareDocumentPosition(target) & 16)) {
        return true;
      }
    }
  }
  return false;
}

function $eventTargetsPopup(this$static, event_0){
  var target;
  target = event_0.target;
  if (is_0(target)) {
    return $isOrHasChild(this$static.element, target);
  }
  return false;
}

function $hide(this$static){
  if (!this$static.showing) {
    return;
  }
  $setState(this$static.resizeAnimation, false, false);
  fire(this$static);
}

function $position(this$static, relativeObject, offsetWidth, offsetHeight){
  var distanceFromWindowLeft, distanceFromWindowTop, distanceToWindowBottom, distanceToWindowRight, left, offsetWidthDiff, textBoxOffsetWidth, top_0, windowBottom, windowLeft, windowRight, windowTop;
  textBoxOffsetWidth = parseInt(relativeObject.element['offsetWidth']) || 0;
  offsetWidthDiff = offsetWidth - textBoxOffsetWidth;
  $clinit_193();
  left = $getAbsoluteLeft(relativeObject.element);
  if (offsetWidthDiff > 0) {
    windowRight = $getClientWidth_0($doc) + $getScrollLeft_1($doc);
    windowLeft = $getScrollLeft_1($doc);
    distanceToWindowRight = windowRight - left;
    distanceFromWindowLeft = left - windowLeft;
    distanceToWindowRight < offsetWidth && distanceFromWindowLeft >= offsetWidthDiff && (left -= offsetWidthDiff);
  }
  top_0 = $getAbsoluteTop(relativeObject.element);
  windowTop = $getScrollTop_0($doc);
  windowBottom = $getScrollTop_0($doc) + $getClientHeight_0($doc);
  distanceFromWindowTop = top_0 - windowTop;
  distanceToWindowBottom = windowBottom - (top_0 + (parseInt(relativeObject.element['offsetHeight']) || 0));
  distanceToWindowBottom < offsetHeight && distanceFromWindowTop >= offsetHeight?(top_0 -= offsetHeight):(top_0 += parseInt(relativeObject.element['offsetHeight']) || 0);
  $setPopupPosition(this$static, left, top_0);
}

function $previewNativeEvent(this$static, event_0){
  var eventTargetsPopupOrPartner, nativeEvent, target, type;
  if (event_0.isCanceled || !this$static.previewAllNativeEvents && event_0.isConsumed) {
    this$static.modal && (event_0.isCanceled = true);
    return;
  }
  if (event_0.isCanceled) {
    return;
  }
  nativeEvent = event_0.nativeEvent;
  eventTargetsPopupOrPartner = $eventTargetsPopup(this$static, nativeEvent) || $eventTargetsPartner(this$static, nativeEvent);
  eventTargetsPopupOrPartner && (event_0.isConsumed = true);
  this$static.modal && (event_0.isCanceled = true);
  type = $eventGetTypeInt(nativeEvent.type);
  switch (type) {
    case 128:
      {
        return;
      }

    case 512:
      {
        return;
      }

    case 256:
      {
        return;
      }

    case 4:
      if (sCaptureElem) {
        event_0.isConsumed = true;
        return;
      }

      if (!eventTargetsPopupOrPartner && this$static.autoHide) {
        $hide(this$static);
        return;
      }

      break;
    case 8:
    case 64:
    case 1:
    case 2:
      {
        if (sCaptureElem) {
          event_0.isConsumed = true;
          return;
        }
        break;
      }

    case 2048:
      {
        target = nativeEvent.target;
        if (this$static.modal && !eventTargetsPopupOrPartner && !!target) {
          target.blur && target != $doc.body && target.blur();
          event_0.isCanceled = true;
          return;
        }
        break;
      }

  }
}

function $setPopupPosition(this$static, left, top_0){
  var elem, style, style_0;
  this$static.leftPosition = left;
  this$static.topPosition = top_0;
  left -= (style = $wnd.getComputedStyle($doc.documentElement, '') , parseInt(style.marginLeft) + parseInt(style.borderLeftWidth));
  top_0 -= (style_0 = $wnd.getComputedStyle($doc.documentElement, '') , parseInt(style_0.marginTop) + parseInt(style_0.borderTopWidth));
  elem = this$static.element;
  elem.style['left'] = left + ($clinit_81() , 'px');
  elem.style['top'] = top_0 + 'px';
}

function $setPopupPositionAndShow(this$static, callback){
  this$static.element.style['visibility'] = 'hidden';
  $show(this$static);
  $setPosition(callback, parseInt(this$static.element['offsetWidth']) || 0, parseInt(this$static.element['offsetHeight']) || 0);
  this$static.element.style['visibility'] = 'visible';
}

function $show(this$static){
  if (this$static.showing) {
    return;
  }
   else 
    this$static.attached && $removeFromParent(this$static);
  $setState(this$static.resizeAnimation, true, false);
}

function $showRelativeTo(this$static, target){
  $setPopupPositionAndShow(this$static, new PopupPanel$2_0(this$static, target));
}

function $updateHandlers(this$static){
  if (this$static.nativePreviewHandlerRegistration) {
    $removeHandler(this$static.nativePreviewHandlerRegistration);
    this$static.nativePreviewHandlerRegistration = null;
  }
  if (this$static.historyHandlerRegistration) {
    $removeHandler(this$static.historyHandlerRegistration);
    this$static.historyHandlerRegistration = null;
  }
  if (this$static.showing) {
    this$static.nativePreviewHandlerRegistration = addNativePreviewHandler(new PopupPanel$3_0(this$static));
    this$static.historyHandlerRegistration = addValueChangeHandler(new PopupPanel$4_0(this$static));
  }
}

function PopupPanel_1(){
  $clinit_398();
  this.element = $doc.createElement('div');
  this.glassResizer = new PopupPanel$1_0;
  this.resizeAnimation = new PopupPanel$ResizeAnimation_0(this);
  this.element.appendChild($createElement_1());
  $setPopupPosition(this, 0, 0);
  $getStyleElement_1($getFirstChildElement(this.element))['className'] = 'gwt-PopupPanel';
  $getContainerElement_1($getFirstChildElement(this.element))['className'] = 'popupContent';
  this.autoHide = true;
  this.autoHideOnHistoryEvents = true;
}

function PopupPanel(){
}

_ = PopupPanel_1.prototype = PopupPanel.prototype = new SimplePanel;
_.getClass$ = function getClass_208(){
  return Lcom_google_gwt_user_client_ui_PopupPanel_2_classLit;
}
;
_.getContainerElement = function getContainerElement_0(){
  return $getContainerElement_1($getFirstChildElement(this.element));
}
;
_.getStyleElement = function getStyleElement_0(){
  return $getStyleElement_1($getFirstChildElement(this.element));
}
;
_.onUnload = function onUnload_1(){
  this.showing && $setState(this.resizeAnimation, false, true);
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 41:1, 57:1, 58:1, 64:1};
_.autoHide = false;
_.autoHideOnHistoryEvents = false;
_.autoHidePartners = null;
_.glass = null;
_.historyHandlerRegistration = null;
_.isGlassEnabled = false;
_.leftPosition = -1;
_.modal = false;
_.nativePreviewHandlerRegistration = null;
_.previewAllNativeEvents = false;
_.showing = false;
_.topPosition = -1;
function $onResize(){
  var style;
  style = null.nullMethod();
  $getClientWidth_0($doc);
  $getClientHeight_0($doc);
  style['display'] = ($clinit_70() , 'none');
  null.nullMethod($clinit_81());
  null.nullMethod($clinit_81());
  $getScrollWidth_0($doc);
  $getScrollHeight_0($doc);
  null.nullMethod($clinit_81());
  null.nullMethod($clinit_81());
  style['display'] = 'block';
}

function PopupPanel$1_0(){
}

function PopupPanel$1(){
}

_ = PopupPanel$1_0.prototype = PopupPanel$1.prototype = new Object_0;
_.getClass$ = function getClass_209(){
  return Lcom_google_gwt_user_client_ui_PopupPanel$1_2_classLit;
}
;
_.castableTypeMap$ = {14:1, 16:1};
function $setPosition(this$static, offsetWidth, offsetHeight){
  $position(this$static.this$0, this$static.val$target, offsetWidth, offsetHeight);
}

function PopupPanel$2_0(this$0, val$target){
  this.this$0 = this$0;
  this.val$target = val$target;
}

function PopupPanel$2(){
}

_ = PopupPanel$2_0.prototype = PopupPanel$2.prototype = new Object_0;
_.getClass$ = function getClass_210(){
  return Lcom_google_gwt_user_client_ui_PopupPanel$2_2_classLit;
}
;
_.castableTypeMap$ = {};
_.this$0 = null;
_.val$target = null;
function PopupPanel$3_0(this$0){
  this.this$0 = this$0;
}

function PopupPanel$3(){
}

_ = PopupPanel$3_0.prototype = PopupPanel$3.prototype = new Object_0;
_.getClass$ = function getClass_211(){
  return Lcom_google_gwt_user_client_ui_PopupPanel$3_2_classLit;
}
;
_.castableTypeMap$ = {16:1, 32:1};
_.this$0 = null;
function PopupPanel$4_0(this$0){
  this.this$0 = this$0;
}

function PopupPanel$4(){
}

_ = PopupPanel$4_0.prototype = PopupPanel$4.prototype = new Object_0;
_.getClass$ = function getClass_212(){
  return Lcom_google_gwt_user_client_ui_PopupPanel$4_2_classLit;
}
;
_.onValueChange = function onValueChange(event_0){
  this.this$0.autoHideOnHistoryEvents && $hide(this.this$0);
}
;
_.castableTypeMap$ = {15:1, 16:1};
_.this$0 = null;
function $maybeShowGlass(this$static){
  if (this$static.showing) {
    if (this$static.curPanel.isGlassEnabled) {
      $doc.body.appendChild(this$static.curPanel.glass);
      $clinit_398();
      this$static.resizeRegistration = addResizeHandler(this$static.curPanel.glassResizer);
      $onResize();
      this$static.glassShowing = true;
    }
  }
   else if (this$static.glassShowing) {
    $doc.body.removeChild(this$static.curPanel.glass);
    $clinit_398();
    $removeHandler(this$static.resizeRegistration);
    this$static.resizeRegistration = null;
    this$static.glassShowing = false;
  }
}

function $onComplete(this$static){
  if (!this$static.showing) {
    $maybeShowGlass(this$static);
    this$static.isUnloading || $remove_1(($clinit_406() , get_0(null)), this$static.curPanel);
    $clinit_398();
  }
  $setClip(($clinit_398() , this$static.curPanel.element));
  this$static.curPanel.element.style['overflow'] = 'visible';
}

function $onInstantaneousRun(this$static){
  $maybeShowGlass(this$static);
  if (this$static.showing) {
    this$static.curPanel.element.style['position'] = 'absolute';
    this$static.curPanel.topPosition != -1 && $setPopupPosition(this$static.curPanel, this$static.curPanel.leftPosition, this$static.curPanel.topPosition);
    $add_0(($clinit_406() , get_0(null)), this$static.curPanel);
    $clinit_398();
  }
   else {
    this$static.isUnloading || $remove_1(($clinit_406() , get_0(null)), this$static.curPanel);
    $clinit_398();
  }
  this$static.curPanel.element.style['overflow'] = 'visible';
}

function $setState(this$static, showing, isUnloading){
  this$static.isUnloading = isUnloading;
  $cancel(this$static);
  this$static.curPanel.showing = showing;
  $updateHandlers(this$static.curPanel);
  this$static.showing = showing;
  $onInstantaneousRun(this$static);
}

function PopupPanel$ResizeAnimation_0(panel){
  this.curPanel = panel;
}

function PopupPanel$ResizeAnimation(){
}

_ = PopupPanel$ResizeAnimation_0.prototype = PopupPanel$ResizeAnimation.prototype = new Animation;
_.getClass$ = function getClass_213(){
  return Lcom_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_2_classLit;
}
;
_.castableTypeMap$ = {};
_.curPanel = null;
_.glassShowing = false;
_.isUnloading = false;
_.resizeRegistration = null;
_.showing = false;
function PushButton_0(){
  this.element = createFocusable0(focusHandler_0?focusHandler_0:(focusHandler_0 = $createFocusHandler()));
  this.eventsToSink == -1?$sinkEvents_1(this.element, 7165 | (this.element.__eventBits || 0)):(this.eventsToSink |= 7165);
  this.up = new CustomButton$2_0(this, null, 'up', 0);
  this.element['className'] = 'gwt-CustomButton';
  this.element.setAttribute('role', 'button');
  this.element['className'] = 'gwt-PushButton';
}

function PushButton(){
}

_ = PushButton_0.prototype = PushButton.prototype = new CustomButton;
_.getClass$ = function getClass_214(){
  return Lcom_google_gwt_user_client_ui_PushButton_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
function $clinit_406(){
  $clinit_406 = nullMethod;
  maybeDetachCommand = new RootPanel$1_0;
  rootPanels = new HashMap_0;
  widgetsToDetach = new HashSet_0;
}

function RootPanel_0(elem){
  this.children = new WidgetCollection_0(this);
  this.element = elem;
  $onAttach(this);
}

function detachNow(widget){
  $clinit_406();
  try {
    widget.onDetach();
  }
   finally {
    $remove_6(widgetsToDetach.map, widget) != null;
  }
}

function detachWidgets(){
  $clinit_406();
  try {
    tryCommand(widgetsToDetach, maybeDetachCommand);
  }
   finally {
    $clearImpl(widgetsToDetach.map);
    $clearImpl(rootPanels);
  }
}

function get_0(id){
  $clinit_406();
  var elem, rp;
  rp = dynamicCast($get_3(rootPanels, id), 40);
  elem = null;
  if (id != null) {
    if (!(elem = $doc.getElementById(id))) {
      return null;
    }
  }
  if (rp) {
    if (!elem || rp.element == elem) {
      return rp;
    }
  }
  rootPanels.size == 0 && addCloseHandler(new RootPanel$2_0);
  !elem?(rp = new RootPanel$DefaultRootPanel_0):(rp = new RootPanel_0(elem));
  $put_0(rootPanels, id, rp);
  $add_6(widgetsToDetach, rp);
  return rp;
}

function RootPanel(){
}

_ = RootPanel_0.prototype = RootPanel.prototype = new AbsolutePanel;
_.getClass$ = function getClass_215(){
  return Lcom_google_gwt_user_client_ui_RootPanel_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 40:1, 41:1, 57:1, 58:1, 64:1};
var maybeDetachCommand, rootPanels, widgetsToDetach;
function RootPanel$1_0(){
}

function RootPanel$1(){
}

_ = RootPanel$1_0.prototype = RootPanel$1.prototype = new Object_0;
_.execute_1 = function execute_9(w){
  w.isAttached() && w.onDetach();
}
;
_.getClass$ = function getClass_216(){
  return Lcom_google_gwt_user_client_ui_RootPanel$1_2_classLit;
}
;
_.castableTypeMap$ = {};
function RootPanel$2_0(){
}

function RootPanel$2(){
}

_ = RootPanel$2_0.prototype = RootPanel$2.prototype = new Object_0;
_.getClass$ = function getClass_217(){
  return Lcom_google_gwt_user_client_ui_RootPanel$2_2_classLit;
}
;
_.onClose = function onClose_0(closeEvent){
  detachWidgets();
}
;
_.castableTypeMap$ = {13:1, 16:1};
function RootPanel$DefaultRootPanel_0(){
  RootPanel_0.call(this, $doc.body);
}

function RootPanel$DefaultRootPanel(){
}

_ = RootPanel$DefaultRootPanel_0.prototype = RootPanel$DefaultRootPanel.prototype = new RootPanel;
_.getClass$ = function getClass_218(){
  return Lcom_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 40:1, 41:1, 57:1, 58:1, 64:1};
function $next_1(this$static){
  if (!this$static.hasElement || !this$static.this$0.widget) {
    throw new NoSuchElementException_0;
  }
  this$static.hasElement = false;
  return this$static.returned = this$static.this$0.widget;
}

--></script>
<script><!--
function SimplePanel$1_0(this$0){
  this.this$0 = this$0;
  this.hasElement = !!this.this$0.widget;
}

function SimplePanel$1(){
}

_ = SimplePanel$1_0.prototype = SimplePanel$1.prototype = new Object_0;
_.getClass$ = function getClass_219(){
  return Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classLit;
}
;
_.hasNext = function hasNext_1(){
  return this.hasElement;
}
;
_.next_0 = function next_2(){
  return $next_1(this);
}
;
_.remove = function remove_7(){
  !!this.returned && $remove_3(this.this$0, this.returned);
}
;
_.castableTypeMap$ = {};
_.returned = null;
_.this$0 = null;
function $setText_0(this$static, text){
  this$static.element['value'] = text != null?text:'';
}

function ValueBoxBase_0(elem){
  this.element = elem;
  addTo($clinit_193());
}

function ValueBoxBase(){
}

_ = ValueBoxBase.prototype = new FocusWidget;
_.getClass$ = function getClass_220(){
  return Lcom_google_gwt_user_client_ui_ValueBoxBase_2_classLit;
}
;
_.onBrowserEvent_0 = function onBrowserEvent_5(event_0){
  var type;
  type = $eventGetTypeInt(event_0.type);
  (type & 896) != 0?$onBrowserEvent_0(this, event_0):$onBrowserEvent_0(this, event_0);
}
;
_.onLoad = function onLoad_0(){
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
function $clinit_419(){
  $clinit_419 = nullMethod;
  $clinit_421();
}

function TextBoxBase(){
}

_ = TextBoxBase.prototype = new ValueBoxBase;
_.getClass$ = function getClass_221(){
  return Lcom_google_gwt_user_client_ui_TextBoxBase_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
function TextBox_0(){
  var e;
  $clinit_419();
  ValueBoxBase_0.call(this, (e = $doc.createElement('INPUT') , e.type = 'text' , e), (!INSTANCE_1 && (INSTANCE_1 = new PassthroughRenderer_0) , !INSTANCE_0 && (INSTANCE_0 = new PassthroughParser_0)));
  this.element['className'] = 'gwt-TextBox';
}

function TextBox(){
}

_ = TextBox_0.prototype = TextBox.prototype = new TextBoxBase;
_.getClass$ = function getClass_222(){
  return Lcom_google_gwt_user_client_ui_TextBox_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
function $clinit_421(){
  $clinit_421 = nullMethod;
  CENTER = new ValueBoxBase$TextAlignment$1_0;
  JUSTIFY = new ValueBoxBase$TextAlignment$2_0;
  LEFT = new ValueBoxBase$TextAlignment$3_0;
  RIGHT = new ValueBoxBase$TextAlignment$4_0;
  $VALUES_6 = initValues(_3Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit, {36:1, 66:1}, 65, [CENTER, JUSTIFY, LEFT, RIGHT]);
}

function values_7(){
  $clinit_421();
  return $VALUES_6;
}

function ValueBoxBase$TextAlignment(){
}

_ = ValueBoxBase$TextAlignment.prototype = new Enum;
_.getClass$ = function getClass_223(){
  return Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 65:1, 66:1, 68:1};
var $VALUES_6, CENTER, JUSTIFY, LEFT, RIGHT;
function ValueBoxBase$TextAlignment$1_0(){
  this.name_0 = 'CENTER';
  this.ordinal = 0;
}

function ValueBoxBase$TextAlignment$1(){
}

_ = ValueBoxBase$TextAlignment$1_0.prototype = ValueBoxBase$TextAlignment$1.prototype = new ValueBoxBase$TextAlignment;
_.getClass$ = function getClass_224(){
  return Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$1_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 65:1, 66:1, 68:1};
function ValueBoxBase$TextAlignment$2_0(){
  this.name_0 = 'JUSTIFY';
  this.ordinal = 1;
}

function ValueBoxBase$TextAlignment$2(){
}

_ = ValueBoxBase$TextAlignment$2_0.prototype = ValueBoxBase$TextAlignment$2.prototype = new ValueBoxBase$TextAlignment;
_.getClass$ = function getClass_225(){
  return Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$2_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 65:1, 66:1, 68:1};
function ValueBoxBase$TextAlignment$3_0(){
  this.name_0 = 'LEFT';
  this.ordinal = 2;
}

function ValueBoxBase$TextAlignment$3(){
}

_ = ValueBoxBase$TextAlignment$3_0.prototype = ValueBoxBase$TextAlignment$3.prototype = new ValueBoxBase$TextAlignment;
_.getClass$ = function getClass_226(){
  return Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$3_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 65:1, 66:1, 68:1};
function ValueBoxBase$TextAlignment$4_0(){
  this.name_0 = 'RIGHT';
  this.ordinal = 3;
}

function ValueBoxBase$TextAlignment$4(){
}

_ = ValueBoxBase$TextAlignment$4_0.prototype = ValueBoxBase$TextAlignment$4.prototype = new ValueBoxBase$TextAlignment;
_.getClass$ = function getClass_227(){
  return Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$4_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 65:1, 66:1, 68:1};
function $add_2(this$static, w){
  var td, tr, td_0;
  tr = $doc.createElement('tr');
  td = (td_0 = $doc.createElement('td') , td_0['align'] = this$static.horzAlign.textAlignString , td_0.style['verticalAlign'] = this$static.vertAlign.verticalAlignString , td_0);
  tr.appendChild(td);
  this$static.body_0.appendChild(tr);
  $removeFromParent(w);
  $add_3(this$static.children, w);
  td.appendChild(w.element);
  $setParent(w, this$static);
}

function VerticalPanel_0(){
  CellPanel_0.call(this);
  this.horzAlign = ($clinit_377() , ALIGN_DEFAULT);
  this.vertAlign = ($clinit_384() , ALIGN_TOP);
  this.table['cellSpacing'] = '0';
  this.table['cellPadding'] = '0';
}

function VerticalPanel(){
}

_ = VerticalPanel_0.prototype = VerticalPanel.prototype = new CellPanel;
_.getClass$ = function getClass_228(){
  return Lcom_google_gwt_user_client_ui_VerticalPanel_2_classLit;
}
;
_.remove_0 = function remove_8(w){
  var removed, td, parent_0;
  td = (parent_0 = w.element.parentNode , (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null) , parent_0);
  removed = $remove_0(this, w);
  removed && this.body_0.removeChild($getParentElement(td));
  return removed;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 41:1, 57:1, 58:1, 64:1};
function $add_3(this$static, w){
  $insert(this$static, w, this$static.size);
}

function $indexOf(this$static, w){
  var i;
  for (i = 0; i < this$static.size; ++i) {
    if (this$static.array[i] == w) {
      return i;
    }
  }
  return -1;
}

function $insert(this$static, w, beforeIndex){
  var i, newArray;
  if (beforeIndex < 0 || beforeIndex > this$static.size) {
    throw new IndexOutOfBoundsException_0;
  }
  if (this$static.size == this$static.array.length) {
    newArray = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, {36:1, 66:1}, 39, this$static.array.length * 2, 0);
    for (i = 0; i < this$static.array.length; ++i) {
      setCheck(newArray, i, this$static.array[i]);
    }
    this$static.array = newArray;
  }
  ++this$static.size;
  for (i = this$static.size - 1; i > beforeIndex; --i) {
    setCheck(this$static.array, i, this$static.array[i - 1]);
  }
  setCheck(this$static.array, beforeIndex, w);
}

function $remove_4(this$static, index){
  var i;
  if (index < 0 || index >= this$static.size) {
    throw new IndexOutOfBoundsException_0;
  }
  --this$static.size;
  for (i = index; i < this$static.size; ++i) {
    setCheck(this$static.array, i, this$static.array[i + 1]);
  }
  setCheck(this$static.array, this$static.size, null);
}

function $remove_5(this$static, w){
  var index;
  index = $indexOf(this$static, w);
  if (index == -1) {
    throw new NoSuchElementException_0;
  }
  $remove_4(this$static, index);
}

function WidgetCollection_0(parent_0){
  this.parent_0 = parent_0;
  this.array = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, {36:1, 66:1}, 39, 4, 0);
}

function WidgetCollection(){
}

_ = WidgetCollection_0.prototype = WidgetCollection.prototype = new Object_0;
_.getClass$ = function getClass_229(){
  return Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit;
}
;
_.iterator_0 = function iterator_2(){
  return new WidgetCollection$WidgetIterator_0(this);
}
;
_.castableTypeMap$ = {};
_.array = null;
_.parent_0 = null;
_.size = 0;
function $next_2(this$static){
  if (this$static.index_0 >= this$static.this$0.size) {
    throw new NoSuchElementException_0;
  }
  return this$static.this$0.array[++this$static.index_0];
}

function WidgetCollection$WidgetIterator_0(this$0){
  this.this$0 = this$0;
}

function WidgetCollection$WidgetIterator(){
}

_ = WidgetCollection$WidgetIterator_0.prototype = WidgetCollection$WidgetIterator.prototype = new Object_0;
_.getClass$ = function getClass_230(){
  return Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit;
}
;
_.hasNext = function hasNext_2(){
  return this.index_0 < this.this$0.size - 1;
}
;
_.next_0 = function next_3(){
  return $next_2(this);
}
;
_.remove = function remove_9(){
  if (this.index_0 < 0 || this.index_0 >= this.this$0.size) {
    throw new IllegalStateException_0;
  }
  this.this$0.parent_0.remove_0(this.this$0.array[this.index_0--]);
}
;
_.castableTypeMap$ = {};
_.index_0 = -1;
_.this$0 = null;
function $createFocusHandler(){
  return function(evt){
    var div = this.parentNode;
    div.onfocus && $wnd.setTimeout(function(){
      div.focus();
    }
    , 0);
  }
  ;
}

function createFocusable0(focusHandler){
  var div = $doc.createElement('div');
  div.tabIndex = 0;
  var input = $doc.createElement('input');
  input.type = 'text';
  input.tabIndex = -1;
  var style = input.style;
  style.opacity = 0;
  style.height = '1px';
  style.width = '1px';
  style.zIndex = -1;
  style.overflow = 'hidden';
  style.position = 'absolute';
  input.addEventListener('focus', focusHandler, false);
  div.appendChild(input);
  return div;
}

var focusHandler_0 = null;
function $clinit_432(){
  $clinit_432 = nullMethod;
  isFF2Mac = isFF2Mac_0();
}

function $createElement_1(){
  var outerElem;
  outerElem = $doc.createElement('div');
  if (isFF2Mac) {
    outerElem.innerHTML = '<div><\/div>';
    addCommand(new PopupImplMozilla$1_0(outerElem));
  }
  return outerElem;
}

function $getContainerElement_1(outerElem){
  return isFF2Mac?$getFirstChildElement(outerElem):outerElem;
}

function $getStyleElement_1(outerElem){
  return isFF2Mac?outerElem:$getParentElement(outerElem);
}

function $setClip(popup){
  popup.style['clip'] = 'rect(auto, auto, auto, auto)';
  popup.style['display'] = ($clinit_70() , 'none');
  popup.style['display'] = '';
}

function isFF2Mac_0(){
  function makeVersion(result){
    return parseInt(result[1]) * 1000 + parseInt(result[2]);
  }

  var ua = navigator.userAgent;
  if (ua.indexOf('Macintosh') != -1) {
    var result_0 = /rv:([0-9]+)\.([0-9]+)/.exec(ua);
    if (result_0 && result_0.length == 3) {
      if (makeVersion(result_0) <= 1008) {
        return true;
      }
    }
  }
  return false;
}

var isFF2Mac;
function PopupImplMozilla$1_0(val$outerElem){
  this.val$outerElem = val$outerElem;
}

function PopupImplMozilla$1(){
}

_ = PopupImplMozilla$1_0.prototype = PopupImplMozilla$1.prototype = new Object_0;
_.execute_0 = function execute_10(){
  this.val$outerElem.style['overflow'] = ($clinit_76() , 'auto');
}
;
_.getClass$ = function getClass_231(){
  return Lcom_google_gwt_user_client_ui_impl_PopupImplMozilla$1_2_classLit;
}
;
_.castableTypeMap$ = {19:1, 31:1};
_.val$outerElem = null;
function $clinit_434(){
  $clinit_434 = nullMethod;
  dayOfWeekNames = initDim(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, 7, 0);
  dayOfMonthNames = initDim(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, 32, 0);
}

function $formatCurrentMonth(this$static){
  return $format(getFormat(($clinit_188() , YEAR_MONTH_ABBR)), this$static.currentMonth);
}

function $getCurrentFirstDayOfFirstWeek(this$static){
  var d, offset, start, wkDayOfMonth1st;
  wkDayOfMonth1st = this$static.currentMonth.getDay_0();
  start = ($clinit_435() , $clinit_435() , startingDay);
  if (wkDayOfMonth1st == start) {
    return new Date_4(this$static.currentMonth.getTime_0());
  }
   else {
    d = new Date_4(this$static.currentMonth.getTime_0());
    offset = wkDayOfMonth1st - start > 0?wkDayOfMonth1st - start:7 - (start - wkDayOfMonth1st);
    d.setDate_0(d.getDate_0() + -offset);
    return d;
  }
}

function $isInCurrentMonth(this$static, date){
  return this$static.currentMonth.getMonth_0() == date.getMonth_0();
}

function $setCurrentMonth(this$static, currentDate){
  this$static.currentMonth.setYear(currentDate.getYear());
  this$static.currentMonth.setMonth_0(currentDate.getMonth_0());
}

function CalendarModel_0(){
  $clinit_434();
  var date, dayOfWeek, i;
  this.currentMonth = new Date_1;
  setToFirstDayOfMonth(this.currentMonth);
  date = new Date_1;
  for (i = 1; i <= 7; ++i) {
    date.setDate_0(i);
    dayOfWeek = date.getDay_0();
    dayOfWeekNames[dayOfWeek] = $format(($clinit_186() , getFormat_0('ccccc', $getDateTimeFormatInfo(($clinit_193() , $clinit_193() , instance_0)))), date);
  }
  date.setMonth_0(0);
  for (i = 1; i < 32; ++i) {
    date.setDate_0(i);
    dayOfMonthNames[i] = $format(getFormat(($clinit_188() , DAY)), date);
  }
}

function CalendarModel(){
}

_ = CalendarModel_0.prototype = CalendarModel.prototype = new Object_0;
_.getClass$ = function getClass_232(){
  return Lcom_google_gwt_user_datepicker_client_CalendarModel_2_classLit;
}
;
_.castableTypeMap$ = {};
_.currentMonth = null;
var dayOfMonthNames, dayOfWeekNames;
function $clinit_435(){
  $clinit_435 = nullMethod;
  var dateTimeFormatInfo;
  dateTimeFormatInfo = $getDateTimeFormatInfo(($clinit_193() , $clinit_193() , instance_0));
  firstDayOfWeekend = 6;
  lastDayOfWeekend = 0;
  startingDay = dateTimeFormatInfo.firstDayOfTheWeek();
}

function addDaysToDate(date, days){
  $clinit_435();
  date.setDate_0(date.getDate_0() + days);
}

function addMonthsToDate(date, months){
  $clinit_435();
  var month, resultMonth, resultMonthCount, resultYear, year;
  if (months != 0) {
    month = date.getMonth_0();
    year = date.getYear();
    resultMonthCount = year * 12 + month + months;
    resultYear = ~~(resultMonthCount / 12);
    resultMonth = resultMonthCount - resultYear * 12;
    date.setMonth_0(resultMonth);
    date.setYear(resultYear);
  }
}

function copyDate(date){
  $clinit_435();
  var newDate;
  if (!date) {
    return null;
  }
  newDate = new Date_1;
  newDate.setTime_0(date.getTime_0());
  return newDate;
}

function getDaysBetween(start, finish){
  $clinit_435();
  var aTime, adjust, bTime;
  start = copyDate(start);
  resetTime(start);
  finish = copyDate(finish);
  resetTime(finish);
  aTime = start.getTime_0();
  bTime = finish.getTime_0();
  adjust = gt(bTime, aTime)?P36ee80_longLit:N36ee80_longLit;
  return toInt(divMod(add_0(sub(bTime, aTime), adjust), P5265c00_longLit, false));
}

function resetTime(date){
  var msec;
  msec = date.getTime_0();
  msec = mul(divMod(msec, P3e8_longLit, false), P3e8_longLit);
  date.setTime_0(msec);
  date.setHours_0(12);
  date.setMinutes_0(0);
  date.setSeconds_0(0);
}

function setToFirstDayOfMonth(date){
  $clinit_435();
  resetTime(date);
  date.setDate_0(1);
}

var firstDayOfWeekend = 0, lastDayOfWeekend = 0, startingDay = 0;
function $addMonths(this$static, numMonths){
  addMonthsToDate(this$static.datePicker.model.currentMonth, numMonths);
  $refreshAll(this$static.datePicker);
}

function DatePickerComponent(){
}

_ = DatePickerComponent.prototype = new Composite;
_.getClass$ = function getClass_233(){
  return Lcom_google_gwt_user_datepicker_client_DatePickerComponent_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
_.datePicker = null;
function CalendarView(){
}

_ = CalendarView.prototype = new DatePickerComponent;
_.getClass$ = function getClass_234(){
  return Lcom_google_gwt_user_datepicker_client_CalendarView_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
function $setHighlighted(this$static, nextHighlighted){
  var oldHighlighted;
  if (nextHighlighted == this$static.highlightedCell) {
    return;
  }
  oldHighlighted = this$static.highlightedCell;
  this$static.highlightedCell = nextHighlighted;
  !!oldHighlighted && ($fireEvent_1(oldHighlighted.this$1.this$0.datePicker, new DatePicker$DateHighlightEvent_0) , $updateStyle(oldHighlighted));
  !!this$static.highlightedCell && $onHighlighted(this$static.highlightedCell);
}

function CellGridImpl(){
}

_ = CellGridImpl.prototype = new Grid;
_.getClass$ = function getClass_235(){
  return Lcom_google_gwt_user_datepicker_client_CellGridImpl_2_classLit;
}
;
_.onBrowserEvent_0 = function onBrowserEvent_6(event_0){
  var cell, e, td, last;
  switch ($eventGetTypeInt(event_0.type)) {
    case 1:
      {
        cell = (td = $getEventTargetCell(this, event_0) , td?dynamicCast($get_1(this.elementToCell, td), 42):null);
        !!cell && cell.enabled && (last = this.selectedCell , this.selectedCell = cell , !!last && $onSelected(last, false) , !!this.selectedCell && $onSelected(this.selectedCell, true) , undefined);
        break;
      }

    case 32:
      {
        e = $eventGetFromElement(event_0);
        if (e) {
          cell = dynamicCast($get_1(this.elementToCell, e), 42);
          cell == this.highlightedCell && $setHighlighted(this, null);
        }
        break;
      }

    case 16:
      {
        e = $eventGetToElement(event_0);
        if (e) {
          cell = dynamicCast($get_1(this.elementToCell, e), 42);
          !!cell && cell.enabled && $setHighlighted(this, cell);
        }
        break;
      }

  }
}
;
_.onUnload = function onUnload_2(){
  $setHighlighted(this, null);
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 41:1, 57:1, 58:1, 64:1};
_.highlightedCell = null;
_.selectedCell = null;
function CellGridImpl$Cell_0(this$0, elem, value){
  var current;
  this.this$0 = this$0;
  this.value = value;
  current = this;
  $add_4(this$0.cellList, current);
  this.element = elem;
  $put(this$0.elementToCell, current);
}

function CellGridImpl$Cell(){
}

_ = CellGridImpl$Cell.prototype = new UIObject;
_.getClass$ = function getClass_236(){
  return Lcom_google_gwt_user_datepicker_client_CellGridImpl$Cell_2_classLit;
}
;
_.castableTypeMap$ = {35:1, 42:1};
_.enabled = true;
_.this$0 = null;
_.value = null;
function $clinit_440(){
  $clinit_440 = nullMethod;
  DEFAULT_FORMAT = new DateBox$DefaultFormat_0;
}

function $parseDate(this$static, reportError){
  var text;
  reportError && setStyleName_0(this$static.element, 'dateBoxFormatError', false);
  text = $trim($getPropertyString(this$static.box.element, 'value'));
  return $parse_1(this$static.format, this$static, text, reportError);
}

function $preventDatePickerPopup(this$static){
  this$static.allowDPShow = false;
  addCommand(new DateBox$1_0(this$static));
}

function $setValue(this$static){
  $setValue_0(this$static, copyDate(this$static.picker.value), null, false);
}

function $setValue_0(this$static, oldDate, date, fireEvents){
  !!date && $setCurrentMonth_0(this$static.picker, date);
  $setValue_1(this$static.picker, date, false);
  setStyleName_0(this$static.element, 'dateBoxFormatError', false);
  $setText_0(this$static.box, $format_1(this$static.format, date));
  fireEvents && !!TYPE_6 && oldDate != date && (!oldDate || !oldDate.equals$(date)) && $fireEvent_1(this$static, new DateChangeEvent_0(date));
}

function $showDatePicker(this$static){
  var current;
  current = $parseDate(this$static, false);
  !current && (current = new Date_1);
  $setCurrentMonth_0(this$static.picker, current);
  $showRelativeTo(this$static.popup, this$static);
}

function $updateDateFromTextBox(this$static){
  var parsedDate;
  parsedDate = $parseDate(this$static, true);
  !!parsedDate && $setValue_0(this$static, copyDate(this$static.picker.value), parsedDate, true);
}

function DateBox_0(){
  $clinit_440();
  DateBox_1.call(this, new DatePicker_0, DEFAULT_FORMAT);
}

function DateBox_1(picker, format){
  var handler;
  this.box = new TextBox_0;
  this.picker = picker;
  this.popup = new PopupPanel_1;
  this.format = format;
  $addAutoHidePartner(this.popup, this.box.element);
  $setWidget_0(this.popup, picker);
  this.popup.getStyleElement()['className'] = 'dateBoxPopup';
  $initWidget(this, this.box);
  this.element['className'] = 'gwt-DateBox';
  handler = new DateBox$DateBoxHandler_0(this);
  $addHandler_1(picker, handler, (!TYPE_6 && (TYPE_6 = new GwtEvent$Type_0) , TYPE_6));
  $addDomHandler(this.box, handler, ($clinit_109() , $clinit_109() , TYPE_1));
  $addDomHandler(this.box, handler, ($clinit_101() , $clinit_101() , TYPE));
  $addDomHandler(this.box, handler, ($clinit_105() , $clinit_105() , TYPE_0));
  $addDomHandler(this.box, handler, ($clinit_140() , $clinit_140() , TYPE_2));
  $addHandler_1(this.popup, handler, TYPE_3?TYPE_3:(TYPE_3 = new GwtEvent$Type_0));
  $setValue_0(this, copyDate(this.picker.value), null, false);
}

function DateBox(){
}

_ = DateBox_0.prototype = DateBox.prototype = new Composite;
_.getClass$ = function getClass_237(){
  return Lcom_google_gwt_user_datepicker_client_DateBox_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
_.allowDPShow = true;
_.format = null;
_.picker = null;
_.popup = null;
var DEFAULT_FORMAT;
function DateBox$1_0(this$0){
  this.this$0 = this$0;
}

function DateBox$1(){
}

_ = DateBox$1_0.prototype = DateBox$1.prototype = new Object_0;
_.execute_0 = function execute_11(){
  this.this$0.allowDPShow = true;
}
;
_.getClass$ = function getClass_238(){
  return Lcom_google_gwt_user_datepicker_client_DateBox$1_2_classLit;
}
;
_.castableTypeMap$ = {19:1, 31:1};
_.this$0 = null;
function $onKeyDown(this$static, event_0){
  switch (event_0.nativeEvent.keyCode || 0) {
    case 13:
    case 9:
      $updateDateFromTextBox(this$static.this$0);
    case 27:
    case 38:
      $hide(this$static.this$0.popup);
      break;
    case 40:
      $showDatePicker(this$static.this$0);
  }
}

function DateBox$DateBoxHandler_0(this$0){
  this.this$0 = this$0;
}

function DateBox$DateBoxHandler(){
}

_ = DateBox$DateBoxHandler_0.prototype = DateBox$DateBoxHandler.prototype = new Object_0;
_.getClass$ = function getClass_239(){
  return Lcom_google_gwt_user_datepicker_client_DateBox$DateBoxHandler_2_classLit;
}
;
_.onClick = function onClick_0(event_0){
  $showDatePicker(this.this$0);
}
;
_.onClose = function onClose_1(event_0){
  this.this$0.allowDPShow && $updateDateFromTextBox(this.this$0);
}
;
_.onValueChange = function onValueChange_0(event_0){
  $setValue_0(this.this$0, $parseDate(this.this$0, false), dynamicCast(event_0.getValue_0(), 6), true);
  $hide(this.this$0.popup);
  $preventDatePickerPopup(this.this$0);
  this.this$0.box.element.focus();
}
;
_.castableTypeMap$ = {8:1, 9:1, 11:1, 12:1, 13:1, 15:1, 16:1};
_.this$0 = null;
function $format_1(this$static, date){
  return !date?'':$format(this$static.dateTimeFormat, date);
}

function $parse_1(this$static, dateBox, dateText, reportError){
  var $e0, $e1, date;
  date = null;
  try {
    dateText.length > 0 && (date = $parse(this$static.dateTimeFormat, dateText));
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 43)) {
      try {
        date = new Date_5(dateText);
      }
       catch ($e1) {
        $e1 = caught_0($e1);
        if (instanceOf($e1, 43)) {
          reportError && setStyleName_0(dateBox.element, 'dateBoxFormatError', true);
          return null;
        }
         else 
          throw $e1;
      }
    }
     else 
      throw $e0;
  }
  return date;
}

function DateBox$DefaultFormat_0(){
  this.dateTimeFormat = ($clinit_186() , getFormat(($clinit_188() , DATE_TIME_MEDIUM)));
}

function DateBox$DefaultFormat(){
}

_ = DateBox$DefaultFormat_0.prototype = DateBox$DefaultFormat.prototype = new Object_0;
_.getClass$ = function getClass_240(){
  return Lcom_google_gwt_user_datepicker_client_DateBox$DefaultFormat_2_classLit;
}
;
_.castableTypeMap$ = {};
_.dateTimeFormat = null;
function DateChangeEvent_0(value){
  this.value = copyDate(value);
}

function DateChangeEvent(){
}

_ = DateChangeEvent_0.prototype = DateChangeEvent.prototype = new ValueChangeEvent;
_.getClass$ = function getClass_241(){
  return Lcom_google_gwt_user_datepicker_client_DateChangeEvent_2_classLit;
}
;
_.getValue_0 = function getValue_4(){
  return copyDate(dynamicCast(this.value, 6));
}
;
_.castableTypeMap$ = {};
function $addStyleToDates(this$static, styleName, date){
  $setStyleName_3(this$static.styler, date, styleName, true);
  $isDateVisible(this$static, date) && $addStyleToDate(this$static.view, styleName, date);
}

function $isDateVisible(this$static, date){
  var first, last, r;
  r = this$static.view;
  first = r.firstDisplayed;
  last = r.lastDisplayed;
  return !!date && (($clinit_435() , first.getYear() == date.getYear() && first.getMonth_0() == date.getMonth_0() && first.getDate_0() == date.getDate_0()) || last.getYear() == date.getYear() && last.getMonth_0() == date.getMonth_0() && last.getDate_0() == date.getDate_0() || !gte_0(first.getTime_0(), date.getTime_0()) && gt(last.getTime_0(), date.getTime_0()));
}

function $refreshAll(this$static){
  $refresh(this$static.view);
  $refresh_0(this$static.monthSelector);
  $isAttached_0(this$static) && fire_1((this$static.view , this$static.view));
}

function $removeStyleFromDates(this$static, styleName, date){
  $setStyleName_3(this$static.styler, date, styleName, false);
  $isDateVisible(this$static, date) && $removeStyleFromDate(this$static.view, styleName, date);
}

function $setCurrentMonth_0(this$static, month){
  $setCurrentMonth(this$static.model, month);
  $refreshAll(this$static);
}

function $setStyleName_2(this$static, styleName){
  this$static.css = new DatePicker$StandardCss_0(styleName);
  this$static.element['className'] = styleName;
}

function $setValue_1(this$static, newValue, fireEvents){
  var oldValue;
  oldValue = this$static.value;
  !!oldValue && $removeStyleFromDates(this$static, this$static.css.baseName + 'DayIsValue', oldValue);
  this$static.value = copyDate(newValue);
  !!this$static.value && $addStyleToDates(this$static, this$static.css.baseName + 'DayIsValue', this$static.value);
  fireEvents && !!TYPE_6 && oldValue != newValue && (!oldValue || !oldValue.equals$(newValue)) && $fireEvent_1(this$static, new DateChangeEvent_0(newValue));
}

function DatePicker_0(){
  DatePicker_1.call(this, new DefaultMonthSelector_0, new DefaultCalendarView_0, new CalendarModel_0);
}

function DatePicker_1(monthSelector, view, model){
  var formatter, panel;
  this.styler = new DatePicker$DateStyler_0;
  this.css = ($clinit_449() , DEFAULT_0);
  this.model = model;
  this.monthSelector = monthSelector;
  monthSelector.datePicker = this;
  this.view = view;
  view.datePicker = this;
  $setup_0(view);
  monthSelector.backwards = new PushButton_0;
  $addDomHandler(monthSelector.backwards, new DefaultMonthSelector$1_0(monthSelector), ($clinit_105() , $clinit_105() , TYPE_0));
  $setHTML(monthSelector.backwards.up, '&laquo;');
  $setStyleName_0(monthSelector.backwards, monthSelector.datePicker.css.baseName + 'PreviousButton');
  monthSelector.forwards = new PushButton_0;
  $setHTML(monthSelector.forwards.up, '&raquo;');
  $setStyleName_0(monthSelector.forwards, monthSelector.datePicker.css.baseName + 'NextButton');
  $addDomHandler(monthSelector.forwards, new DefaultMonthSelector$2_0(monthSelector), TYPE_0);
  monthSelector.grid = new Grid_1;
  $setWidget(monthSelector.grid, 0, monthSelector.backwards);
  $setWidget(monthSelector.grid, 2, monthSelector.forwards);
  formatter = monthSelector.grid.cellFormatter;
  $setStyleName_1(formatter, 1, monthSelector.datePicker.css.baseName + 'Month');
  $prepareCell(formatter.this$0, 0);
  formatter.this$0.bodyElem.rows[0].cells[0]['width'] = '1';
  $prepareCell(formatter.this$0, 1);
  formatter.this$0.bodyElem.rows[0].cells[1]['width'] = '100%';
  $prepareCell(formatter.this$0, 2);
  formatter.this$0.bodyElem.rows[0].cells[2]['width'] = '1';
  $setStyleName_0(monthSelector.grid, monthSelector.datePicker.css.baseName + 'MonthSelector');
  $initWidget(monthSelector, monthSelector.grid);
  panel = new VerticalPanel_0;
  $initWidget(this, panel);
  panel.element['className'] = this.css.widgetName;
  $setStyleName_2(this, this.css.widgetName);
  $add_2(panel, this.monthSelector);
  $add_2(panel, this.view);
  $setCurrentMonth(this.model, new Date_1);
  $refreshAll(this);
  $addStyleToDates(this, this.css.baseName + 'DayIsToday', new Date_1);
}

function DatePicker(){
}

_ = DatePicker_0.prototype = DatePicker.prototype = new Composite;
_.getClass$ = function getClass_242(){
  return Lcom_google_gwt_user_datepicker_client_DatePicker_2_classLit;
}
;
_.onLoad = function onLoad_1(){
  fire_1(this.view);
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
_.model = null;
_.monthSelector = null;
_.value = null;
_.view = null;
function DatePicker$DateHighlightEvent_0(){
}

function DatePicker$DateHighlightEvent(){
}

_ = DatePicker$DateHighlightEvent_0.prototype = DatePicker$DateHighlightEvent.prototype = new HighlightEvent;
_.getClass$ = function getClass_243(){
  return Lcom_google_gwt_user_datepicker_client_DatePicker$DateHighlightEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
function $getStyleName(this$static, d){
  return dynamicCast($get_3(this$static.info, d.getYear() + '/' + d.getMonth_0() + '/' + d.getDate_0()), 1);
}

function $setStyleName_3(this$static, d, styleName, add){
  var current, key, newValue;
  styleName = ' ' + styleName + ' ';
  key = d.getYear() + '/' + d.getMonth_0() + '/' + d.getDate_0();
  current = dynamicCast($get_3(this$static.info, key), 1);
  if (add) {
    current == null?$put_0(this$static.info, key, styleName):current.indexOf(styleName) == -1 && $put_0(this$static.info, key, current + styleName);
  }
   else {
    if (current != null) {
      newValue = $replaceAll(current, styleName, '');
      $trim(newValue).length == 0?$remove_6(this$static.info, key):$put_0(this$static.info, key, newValue);
    }
  }
}

function DatePicker$DateStyler_0(){
  this.info = new HashMap_0;
}

function DatePicker$DateStyler(){
}

_ = DatePicker$DateStyler_0.prototype = DatePicker$DateStyler.prototype = new Object_0;
_.getClass$ = function getClass_244(){
  return Lcom_google_gwt_user_datepicker_client_DatePicker$DateStyler_2_classLit;
}
;
--></script>
<script><!--
_.castableTypeMap$ = {};
function $clinit_449(){
  $clinit_449 = nullMethod;
  DEFAULT_0 = new DatePicker$StandardCss_0('gwt-DatePicker');
}

function DatePicker$StandardCss_0(widgetName){
  $clinit_449();
  this.widgetName = widgetName;
  this.baseName = 'datePicker';
}

function DatePicker$StandardCss(){
}

_ = DatePicker$StandardCss_0.prototype = DatePicker$StandardCss.prototype = new Object_0;
_.getClass$ = function getClass_245(){
  return Lcom_google_gwt_user_datepicker_client_DatePicker$StandardCss_2_classLit;
}
;
_.castableTypeMap$ = {};
_.baseName = null;
_.widgetName = null;
var DEFAULT_0;
function $addStyleToDate(this$static, styleName, date){
  $addStyleName($getCell_1(this$static, date), styleName);
}

function $getCell_1(this$static, d){
  var cell, index;
  index = getDaysBetween(this$static.firstDisplayed, d);
  cell = dynamicCast($get_4(this$static.grid.cellList, index), 42);
  if (cell.value.getDate_0() != d.getDate_0()) {
    throw new IllegalStateException_1(d + ' cannot be associated with cell ' + cell + ' as it has date ' + cell.value);
  }
  return cell;
}

function $refresh(this$static){
  var cell, i;
  this$static.firstDisplayed = $getCurrentFirstDayOfFirstWeek(this$static.datePicker.model);
  this$static.firstDisplayed.getDate_0() == 1 && addDaysToDate(this$static.firstDisplayed, -7);
  this$static.lastDisplayed.setTime_0(this$static.firstDisplayed.getTime_0());
  for (i = 0; i < this$static.grid.cellList.size; ++i) {
    i != 0 && addDaysToDate(this$static.lastDisplayed, 1);
    cell = dynamicCast($get_4(this$static.grid.cellList, i), 42);
    $update(cell, this$static.lastDisplayed);
  }
}

function $removeStyleFromDate(this$static, styleName, date){
  $removeStyleName($getCell_1(this$static, date), styleName);
}

function $setup_0(this$static){
  var column, dayIdx, e, formatter, i, row, shift, weekendEndColumn, weekendStartColumn;
  formatter = this$static.grid.cellFormatter;
  weekendStartColumn = -1;
  weekendEndColumn = -1;
  for (i = 0; i < 7; ++i) {
    shift = ($clinit_435() , $clinit_435() , startingDay);
    dayIdx = i + shift < 7?i + shift:i + shift - 7;
    $setText(this$static.grid, i, dayOfWeekNames[this$static.datePicker , dayIdx]);
    if (dayIdx == firstDayOfWeekend || dayIdx == lastDayOfWeekend) {
      $setStyleName_1(formatter, i, this$static.datePicker.css.baseName + 'WeekendLabel');
      weekendStartColumn == -1?(weekendStartColumn = i):(weekendEndColumn = i);
    }
     else {
      $setStyleName_1(formatter, i, this$static.datePicker.css.baseName + 'WeekdayLabel');
    }
  }
  for (row = 1; row <= 6; ++row) {
    for (column = 0; column < 7; ++column) {
      e = ($checkCellBounds(formatter.this$0, row, column) , formatter.this$0.bodyElem.rows[row].cells[column]);
      new DefaultCalendarView$CellGrid$DateCell_0(this$static.grid, e, column == weekendStartColumn || column == weekendEndColumn);
    }
  }
  $initWidget(this$static, this$static.grid);
  $setStyleName_0(this$static.grid, this$static.datePicker.css.baseName + 'Days');
}

function DefaultCalendarView_0(){
  this.grid = new DefaultCalendarView$CellGrid_0(this);
  this.lastDisplayed = new Date_1;
}

function DefaultCalendarView(){
}

_ = DefaultCalendarView_0.prototype = DefaultCalendarView.prototype = new CalendarView;
_.getClass$ = function getClass_246(){
  return Lcom_google_gwt_user_datepicker_client_DefaultCalendarView_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
_.firstDisplayed = null;
function DefaultCalendarView$CellGrid_0(this$0){
  this.this$0 = this$0;
  Grid_0.call(this);
  this.elementToCell = new ElementMapperImpl_0;
  this.cellList = new ArrayList_0;
  this.tableElem['cellPadding'] = 0;
  this.tableElem['cellSpacing'] = 0;
  this.tableElem['border'] = '0';
  this.eventsToSink == -1?$sinkEvents_1(this.element, 49 | (this.element.__eventBits || 0)):(this.eventsToSink |= 49);
  $resizeColumns(this, 7);
  $resizeRows(this, 7);
}

function DefaultCalendarView$CellGrid(){
}

_ = DefaultCalendarView$CellGrid_0.prototype = DefaultCalendarView$CellGrid.prototype = new CellGridImpl;
_.getClass$ = function getClass_247(){
  return Lcom_google_gwt_user_datepicker_client_DefaultCalendarView$CellGrid_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 41:1, 57:1, 58:1, 64:1};
_.this$0 = null;
function $addStyleName(this$static, styleName){
  this$static.dateStyle.indexOf(' ' + styleName + ' ') == -1 && (this$static.dateStyle += styleName + ' ');
  $updateStyle(this$static);
}

function $onHighlighted(this$static){
  $fireEvent_1(this$static.this$1.this$0.datePicker, new DatePicker$DateHighlightEvent_0);
  $updateStyle(this$static);
}

function $onSelected(this$static, selected){
  if (selected) {
    $setValue_1(this$static.this$1.this$0.datePicker, this$static.value, true);
    !$isInCurrentMonth(this$static.this$1.this$0.datePicker.model, this$static.value) && $setCurrentMonth_0(this$static.this$1.this$0.datePicker, this$static.value);
  }
  $updateStyle(this$static);
}

function $removeStyleName(this$static, styleName){
  this$static.dateStyle = $replace_1(this$static.dateStyle, ' ' + styleName + ' ');
  $updateStyle(this$static);
}

function $update(this$static, current){
  var extraStyle, value;
  this$static.enabled = true;
  $updateStyle(this$static);
  this$static.value.setTime_0(current.getTime_0());
  value = dayOfMonthNames[(this$static.this$1.this$0.datePicker , this$static.value).getDate_0()];
  this$static.element.textContent = value || '';
  this$static.dateStyle = this$static.cellStyle;
  if ($isInCurrentMonth(this$static.this$1.this$0.datePicker.model, this$static.value)) {
    extraStyle = $getStyleName(this$static.this$1.this$0.datePicker.styler, current);
    extraStyle != null && (this$static.dateStyle += ' ' + extraStyle);
  }
   else {
    this$static.dateStyle += ' ' + this$static.this$1.this$0.datePicker.css.baseName + 'DayIsFiller';
  }
  this$static.dateStyle += ' ';
  $updateStyle(this$static);
}

function $updateStyle(this$static){
  var accum;
  accum = this$static.dateStyle;
  if (this$static == this$static.this$0.highlightedCell) {
    accum += ' ' + this$static.this$1.this$0.datePicker.css.baseName + 'DayIsHighlighted';
    this$static == this$static.this$0.highlightedCell && this$static.this$0.selectedCell == this$static && (accum += ' ' + this$static.this$1.this$0.datePicker.css.baseName + 'DayIsValueAndHighlighted');
  }
  this$static.enabled || (accum += ' ' + this$static.this$1.this$0.datePicker.css.baseName + 'DayIsDisabled');
  this$static.element['className'] = accum;
}

function DefaultCalendarView$CellGrid$DateCell_0(this$1, td, isWeekend){
  this.this$1 = this$1;
  CellGridImpl$Cell_0.call(this, this$1, td, new Date_1);
  this.cellStyle = this$1.this$0.datePicker.css.baseName + 'Day';
  isWeekend && (this.cellStyle += ' ' + this$1.this$0.datePicker.css.baseName + 'DayIsWeekend');
}

function DefaultCalendarView$CellGrid$DateCell(){
}

_ = DefaultCalendarView$CellGrid$DateCell_0.prototype = DefaultCalendarView$CellGrid$DateCell.prototype = new CellGridImpl$Cell;
_.getClass$ = function getClass_248(){
  return Lcom_google_gwt_user_datepicker_client_DefaultCalendarView$CellGrid$DateCell_2_classLit;
}
;
_.castableTypeMap$ = {35:1, 42:1};
_.cellStyle = null;
_.dateStyle = null;
_.this$1 = null;
function MonthSelector(){
}

_ = MonthSelector.prototype = new DatePickerComponent;
_.getClass$ = function getClass_249(){
  return Lcom_google_gwt_user_datepicker_client_MonthSelector_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
function $refresh_0(this$static){
  var formattedMonth;
  formattedMonth = $formatCurrentMonth(this$static.datePicker.model);
  $setText(this$static.grid, 1, formattedMonth);
}

function DefaultMonthSelector_0(){
}

function DefaultMonthSelector(){
}

_ = DefaultMonthSelector_0.prototype = DefaultMonthSelector.prototype = new MonthSelector;
_.getClass$ = function getClass_250(){
  return Lcom_google_gwt_user_datepicker_client_DefaultMonthSelector_2_classLit;
}
;
_.castableTypeMap$ = {34:1, 35:1, 39:1, 57:1, 58:1, 64:1};
_.backwards = null;
_.forwards = null;
_.grid = null;
function DefaultMonthSelector$1_0(this$0){
  this.this$0 = this$0;
}

function DefaultMonthSelector$1(){
}

_ = DefaultMonthSelector$1_0.prototype = DefaultMonthSelector$1.prototype = new Object_0;
_.getClass$ = function getClass_251(){
  return Lcom_google_gwt_user_datepicker_client_DefaultMonthSelector$1_2_classLit;
}
;
_.onClick = function onClick_1(event_0){
  $addMonths(this.this$0, -1);
}
;
_.castableTypeMap$ = {9:1, 16:1};
_.this$0 = null;
function DefaultMonthSelector$2_0(this$0){
  this.this$0 = this$0;
}

function DefaultMonthSelector$2(){
}

_ = DefaultMonthSelector$2_0.prototype = DefaultMonthSelector$2.prototype = new Object_0;
_.getClass$ = function getClass_252(){
  return Lcom_google_gwt_user_datepicker_client_DefaultMonthSelector$2_2_classLit;
}
;
_.onClick = function onClick_2(event_0){
  $addMonths(this.this$0, 1);
}
;
_.castableTypeMap$ = {9:1, 16:1};
_.this$0 = null;
function $dispatch_7(this$static){
  $onCellPreview(this$static);
}

function CellPreviewEvent_0(display, isCellEditing, isSelectionHandled){
  this.display_0 = display;
  this.isCellEditing = isCellEditing;
  this.isSelectionHandled = isSelectionHandled;
}

function fire_5(source, display, isCellEditing, isSelectionHandled){
  var event_0;
  event_0 = new CellPreviewEvent_0(display, isCellEditing, isSelectionHandled);
  !!TYPE_9 && !!source.handlerManager && $fireEvent(source.handlerManager, event_0);
  return event_0;
}

function CellPreviewEvent(){
}

_ = CellPreviewEvent_0.prototype = CellPreviewEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_9(handler){
  $dispatch_7(this, dynamicCast(handler, 44));
}
;
_.getAssociatedType = function getAssociatedType_10(){
  return TYPE_9;
}
;
_.getClass$ = function getClass_253(){
  return Lcom_google_gwt_view_client_CellPreviewEvent_2_classLit;
}
;
_.castableTypeMap$ = {};
_.display_0 = null;
_.isCellEditing = false;
_.isSelectionHandled = false;
var TYPE_9 = null;
function $onCellPreview(event_0){
  var display;
  if (event_0.isCellEditing || event_0.isSelectionHandled) {
    return;
  }
  display = event_0.display_0;
  display.presenter;
  return;
}

function DefaultSelectionEventManager_0(){
}

function DefaultSelectionEventManager(){
}

_ = DefaultSelectionEventManager_0.prototype = DefaultSelectionEventManager.prototype = new Object_0;
_.getClass$ = function getClass_254(){
  return Lcom_google_gwt_view_client_DefaultSelectionEventManager_2_classLit;
}
;
_.castableTypeMap$ = {16:1, 44:1};
function Range_1(start, length_0){
  this.start = start;
  this.length_0 = length_0;
}

function Range_0(){
}

_ = Range_1.prototype = Range_0.prototype = new Object_0;
_.equals$ = function equals_7(o){
  var r;
  if (!(o != null && o.castableTypeMap$ && !!o.castableTypeMap$[30])) {
    return false;
  }
  r = dynamicCast(o, 30);
  return this.start == r.start && this.length_0 == r.length_0;
}
;
_.getClass$ = function getClass_255(){
  return Lcom_google_gwt_view_client_Range_2_classLit;
}
;
_.hashCode$ = function hashCode_9(){
  return this.length_0 * 31 ^ this.start;
}
;
_.toString$ = function toString_12(){
  return 'Range(' + this.start + ',' + this.length_0 + ')';
}
;
_.castableTypeMap$ = {30:1, 66:1};
_.length_0 = 0;
_.start = 0;
function fire_6(){
}

function $clearOnReadyStateChange(this$static){
  var self_0 = this$static;
  $wnd.setTimeout(function(){
    self_0.onreadystatechange = new Function;
  }
  , 0);
}

function $setOnReadyStateChange(this$static, handler){
  var _this = this$static;
  this$static.onreadystatechange = $entry(function(){
    handler.onReadyStateChange(_this);
  }
  );
}

function create_5(){
  if ($wnd.XMLHttpRequest) {
    return new $wnd.XMLHttpRequest;
  }
   else {
    try {
      return new $wnd.ActiveXObject('MSXML2.XMLHTTP.3.0');
    }
     catch (e) {
      return new $wnd.ActiveXObject('Microsoft.XMLHTTP');
    }
  }
}

function ArithmeticException_0(){
  $fillInStackTrace();
  this.detailMessage = 'divide by zero';
}

function ArithmeticException(){
}

_ = ArithmeticException_0.prototype = ArithmeticException.prototype = new RuntimeException;
_.getClass$ = function getClass_256(){
  return Ljava_lang_ArithmeticException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
function ArrayStoreException_0(){
  $fillInStackTrace();
}

function ArrayStoreException(){
}

_ = ArrayStoreException_0.prototype = ArrayStoreException.prototype = new RuntimeException;
_.getClass$ = function getClass_257(){
  return Ljava_lang_ArrayStoreException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
function $clinit_472(){
  $clinit_472 = nullMethod;
  FALSE = new Boolean_1(false);
  TRUE = new Boolean_1(true);
}

function Boolean_1(value){
  this.value = value;
}

function Boolean_0(){
}

_ = Boolean_1.prototype = Boolean_0.prototype = new Object_0;
_.compareTo$ = function compareTo_2(other){
  return this.value == dynamicCast(other, 45).value?0:this.value?1:-1;
}
;
_.equals$ = function equals_8(o){
  return o != null && o.castableTypeMap$ && !!o.castableTypeMap$[45] && dynamicCast(o, 45).value == this.value;
}
;
_.getClass$ = function getClass_258(){
  return Ljava_lang_Boolean_2_classLit;
}
;
_.hashCode$ = function hashCode_10(){
  return this.value?1231:1237;
}
;
_.toString$ = function toString_13(){
  return this.value?'true':'false';
}
;
_.castableTypeMap$ = {45:1, 66:1, 68:1};
_.value = false;
var FALSE, TRUE;
function Number_0(){
}

_ = Number_0.prototype = new Object_0;
_.getClass$ = function getClass_259(){
  return Ljava_lang_Number_2_classLit;
}
;
_.castableTypeMap$ = {66:1, 69:1};
function $compareTo_1(this$static, b){
  return this$static.value < b.value?-1:this$static.value > b.value?1:0;
}

function Byte_0(value){
  this.value = value;
}

function valueOf(b){
  var rebase, result;
  rebase = b + 128;
  result = ($clinit_475() , boxedValues_0)[rebase];
  !result && (result = boxedValues_0[rebase] = new Byte_0(b));
  return result;
}

function Byte(){
}

_ = Byte_0.prototype = Byte.prototype = new Number_0;
_.compareTo$ = function compareTo_3(b){
  return $compareTo_1(this, dynamicCast(b, 46));
}
;
_.equals$ = function equals_9(o){
  return o != null && o.castableTypeMap$ && !!o.castableTypeMap$[46] && dynamicCast(o, 46).value == this.value;
}
;
_.getClass$ = function getClass_260(){
  return Ljava_lang_Byte_2_classLit;
}
;
_.hashCode$ = function hashCode_11(){
  return this.value;
}
;
_.toString$ = function toString_14(){
  return '' + this.value;
}
;
_.castableTypeMap$ = {46:1, 66:1, 68:1, 69:1};
_.value = 0;
function $clinit_475(){
  $clinit_475 = nullMethod;
  boxedValues_0 = initDim(_3Ljava_lang_Byte_2_classLit, {36:1, 66:1}, 46, 256, 0);
}

var boxedValues_0;
function Character_0(value){
  this.value = value;
}

function valueOf_0(c){
  var result;
  if (c < 128) {
    result = ($clinit_478() , boxedValues_1)[c];
    !result && (result = boxedValues_1[c] = new Character_0(c));
    return result;
  }
  return new Character_0(c);
}

function Character(){
}

_ = Character_0.prototype = Character.prototype = new Object_0;
_.compareTo$ = function compareTo_4(c){
  return this.value - dynamicCast(c, 47).value;
}
;
_.equals$ = function equals_10(o){
  return o != null && o.castableTypeMap$ && !!o.castableTypeMap$[47] && dynamicCast(o, 47).value == this.value;
}
;
_.getClass$ = function getClass_261(){
  return Ljava_lang_Character_2_classLit;
}
;
_.hashCode$ = function hashCode_12(){
  return this.value;
}
;
_.toString$ = function toString_15(){
  return String.fromCharCode(this.value);
}
;
_.castableTypeMap$ = {47:1, 66:1, 68:1};
_.value = 0;
function $clinit_478(){
  $clinit_478 = nullMethod;
  boxedValues_1 = initDim(_3Ljava_lang_Character_2_classLit, {36:1, 66:1}, 47, 128, 0);
}

var boxedValues_1;
function Class_0(){
}

function createForArray(packageName, className){
  var clazz;
  clazz = new Class_0;
  clazz.typeName = packageName + className;
  clazz.modifiers = 4;
  return clazz;
}

function createForClass(packageName, className){
  var clazz;
  clazz = new Class_0;
  clazz.typeName = packageName + className;
  return clazz;
}

function createForEnum(packageName, className, superclass, enumConstantsFunc){
  var clazz;
  clazz = new Class_0;
  clazz.typeName = packageName + className;
  clazz.modifiers = enumConstantsFunc?8:0;
  clazz.enumSuperclass = superclass;
  return clazz;
}

function Class(){
}

_ = Class_0.prototype = Class.prototype = new Object_0;
_.getClass$ = function getClass_262(){
  return Ljava_lang_Class_2_classLit;
}
;
_.toString$ = function toString_16(){
  return ((this.modifiers & 2) != 0?'interface ':(this.modifiers & 1) != 0?'':'class ') + this.typeName;
}
;
_.castableTypeMap$ = {};
_.enumSuperclass = null;
_.modifiers = 0;
_.typeName = null;
function ClassCastException_0(){
  $fillInStackTrace();
}

function ClassCastException(){
}

_ = ClassCastException_0.prototype = ClassCastException.prototype = new RuntimeException;
_.getClass$ = function getClass_263(){
  return Ljava_lang_ClassCastException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
function Double_0(value){
  this.value = value;
}

function compare_0(x, y){
  if (isNaN(x)) {
    return isNaN(y)?0:1;
  }
   else if (isNaN(y)) {
    return -1;
  }
  return x < y?-1:x > y?1:0;
}

function Double(){
}

_ = Double_0.prototype = Double.prototype = new Number_0;
_.compareTo$ = function compareTo_5(b){
  return compare_0(this.value, dynamicCast(b, 48).value);
}
;
_.equals$ = function equals_11(o){
  return o != null && o.castableTypeMap$ && !!o.castableTypeMap$[48] && dynamicCast(o, 48).value == this.value;
}
;
_.getClass$ = function getClass_264(){
  return Ljava_lang_Double_2_classLit;
}
;
_.hashCode$ = function hashCode_13(){
  return ~~Math.max(Math.min(this.value, 2147483647), -2147483648);
}
;
_.toString$ = function toString_17(){
  return '' + this.value;
}
;
_.castableTypeMap$ = {48:1, 66:1, 68:1, 69:1};
_.value = 0;
function $compareTo_4(this$static, b){
  return this$static.value < b.value?-1:this$static.value > b.value?1:0;
}

function Float_0(value){
  this.value = value;
}

function Float(){
}

_ = Float_0.prototype = Float.prototype = new Number_0;
_.compareTo$ = function compareTo_6(b){
  return $compareTo_4(this, dynamicCast(b, 49));
}
;
_.equals$ = function equals_12(o){
  return o != null && o.castableTypeMap$ && !!o.castableTypeMap$[49] && dynamicCast(o, 49).value == this.value;
}
;
_.getClass$ = function getClass_265(){
  return Ljava_lang_Float_2_classLit;
}
;
_.hashCode$ = function hashCode_14(){
  return ~~Math.max(Math.min(this.value, 2147483647), -2147483648);
}
;
_.toString$ = function toString_18(){
  return '' + this.value;
}
;
_.castableTypeMap$ = {49:1, 66:1, 68:1, 69:1};
_.value = 0;
function IllegalArgumentException_0(){
  $fillInStackTrace();
}

function IllegalArgumentException_1(message){
  $fillInStackTrace();
  this.detailMessage = message;
}

function IllegalArgumentException(){
}

_ = IllegalArgumentException_1.prototype = IllegalArgumentException_0.prototype = IllegalArgumentException.prototype = new RuntimeException;
_.getClass$ = function getClass_266(){
  return Ljava_lang_IllegalArgumentException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 43:1, 66:1};
function IllegalStateException_0(){
  $fillInStackTrace();
}

function IllegalStateException_1(s){
  $fillInStackTrace();
  this.detailMessage = s;
}

function IllegalStateException(){
}

_ = IllegalStateException_1.prototype = IllegalStateException_0.prototype = IllegalStateException.prototype = new RuntimeException;
_.getClass$ = function getClass_267(){
  return Ljava_lang_IllegalStateException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
function IndexOutOfBoundsException_0(){
  $fillInStackTrace();
}

function IndexOutOfBoundsException_1(message){
  $fillInStackTrace();
  this.detailMessage = message;
}

function IndexOutOfBoundsException(){
}

_ = IndexOutOfBoundsException_1.prototype = IndexOutOfBoundsException_0.prototype = IndexOutOfBoundsException.prototype = new RuntimeException;
_.getClass$ = function getClass_268(){
  return Ljava_lang_IndexOutOfBoundsException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
function $compareTo_5(this$static, b){
  return this$static.value < b.value?-1:this$static.value > b.value?1:0;
}

function Integer_0(value){
  this.value = value;
}

function numberOfLeadingZeros_0(i){
  var m_0, n, y;
  if (i < 0) {
    return 0;
  }
   else if (i == 0) {
    return 32;
  }
   else {
    y = -(i >> 16);
    m_0 = y >> 16 & 16;
    n = 16 - m_0;
    i = i >> m_0;
    y = i - 256;
    m_0 = y >> 16 & 8;
    n += m_0;
    i <<= m_0;
    y = i - 4096;
    m_0 = y >> 16 & 4;
    n += m_0;
    i <<= m_0;
    y = i - 16384;
    m_0 = y >> 16 & 2;
    n += m_0;
    i <<= m_0;
    y = i >> 14;
    m_0 = y & ~(y >> 1);
    return n + 2 - m_0;
  }
}

function numberOfTrailingZeros(i){
  var r, rtn;
  if (i == 0) {
    return 32;
  }
   else {
    rtn = 0;
    for (r = 1; (r & i) == 0; r <<= 1) {
      ++rtn;
    }
    return rtn;
  }
}

function toPowerOfTwoString(value){
  var buf, digits, pos;
  buf = initDim(_3C_classLit, {66:1}, -1, 8, 1);
  digits = ($clinit_495() , digits_0);
  pos = 7;
  if (value >= 0) {
    while (value > 15) {
      buf[pos--] = digits[value & 15];
      value >>= 4;
    }
  }
   else {
    while (pos > 0) {
      buf[pos--] = digits[value & 15];
      value >>= 4;
    }
  }
  buf[pos] = digits[value & 15];
  return __valueOf(buf, pos, 8);
}

function valueOf_1(i){
  var rebase, result;
  if (i > -129 && i < 128) {
    rebase = i + 128;
    result = ($clinit_489() , boxedValues_2)[rebase];
    !result && (result = boxedValues_2[rebase] = new Integer_0(i));
    return result;
  }
  return new Integer_0(i);
}

function Integer(){
}

_ = Integer_0.prototype = Integer.prototype = new Number_0;
_.compareTo$ = function compareTo_7(b){
  return $compareTo_5(this, dynamicCast(b, 29));
}
;
_.equals$ = function equals_13(o){
  return o != null && o.castableTypeMap$ && !!o.castableTypeMap$[29] && dynamicCast(o, 29).value == this.value;
}
;
_.getClass$ = function getClass_269(){
  return Ljava_lang_Integer_2_classLit;
}
;
_.hashCode$ = function hashCode_15(){
  return this.value;
}
;
_.toString$ = function toString_19(){
  return '' + this.value;
}
;
_.castableTypeMap$ = {29:1, 66:1, 68:1, 69:1};
_.value = 0;
function $clinit_489(){
  $clinit_489 = nullMethod;
  boxedValues_2 = initDim(_3Ljava_lang_Integer_2_classLit, {36:1, 66:1}, 29, 256, 0);
}

var boxedValues_2;
function $compareTo_6(this$static, b){
  return !gte_0(this$static.value, b.value)?-1:gt(this$static.value, b.value)?1:0;
}

function Long_0(value){
  this.value = value;
}

function signum(i){
  return eq(i, P0_longLit)?0:!gte_0(i, P0_longLit)?-1:1;
}

function valueOf_2(i){
  var rebase, result;
  if (gt(i, N81_longLit) && !gte_0(i, P80_longLit)) {
    rebase = (i.l | i.m << 22) + 128;
    result = ($clinit_492() , boxedValues_3)[rebase];
    !result && (result = boxedValues_3[rebase] = new Long_0(i));
    return result;
  }
  return new Long_0(i);
}

function Long(){
}

_ = Long_0.prototype = Long.prototype = new Number_0;
_.compareTo$ = function compareTo_8(b){
  return $compareTo_6(this, dynamicCast(b, 50));
}
;
_.equals$ = function equals_14(o){
  return o != null && o.castableTypeMap$ && !!o.castableTypeMap$[50] && eq(dynamicCast(o, 50).value, this.value);
}
;
_.getClass$ = function getClass_270(){
  return Ljava_lang_Long_2_classLit;
}
;
_.hashCode$ = function hashCode_16(){
  return toInt(this.value);
}
;
_.toString$ = function toString_20(){
  return '' + toString_8(this.value);
}
;
_.castableTypeMap$ = {50:1, 66:1, 68:1, 69:1};
_.value = P0_longLit;
function $clinit_492(){
  $clinit_492 = nullMethod;
  boxedValues_3 = initDim(_3Ljava_lang_Long_2_classLit, {36:1, 66:1}, 50, 256, 0);
}

var boxedValues_3;
function max(x, y){
  return x > y?x:y;
}

function min(x, y){
  return x < y?x:y;
}

function NullPointerException_0(){
  $fillInStackTrace();
}

function NullPointerException_1(message){
  $fillInStackTrace();
  this.detailMessage = message;
}

function NullPointerException(){
}

_ = NullPointerException_1.prototype = NullPointerException_0.prototype = NullPointerException.prototype = new RuntimeException;
_.getClass$ = function getClass_271(){
  return Ljava_lang_NullPointerException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
function $clinit_495(){
  $clinit_495 = nullMethod;
  digits_0 = initValues(_3C_classLit, {66:1}, -1, [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122]);
}

var digits_0;
function $compareTo_7(this$static, b){
  return this$static.value < b.value?-1:this$static.value > b.value?1:0;
}

function Short_0(value){
  this.value = value;
}

function valueOf_3(s){
  var rebase, result;
  if (s > -129 && s < 128) {
    rebase = s + 128;
    result = ($clinit_497() , boxedValues_4)[rebase];
    !result && (result = boxedValues_4[rebase] = new Short_0(s));
    return result;
  }
  return new Short_0(s);
}

function Short(){
}

_ = Short_0.prototype = Short.prototype = new Number_0;
_.compareTo$ = function compareTo_9(b){
  return $compareTo_7(this, dynamicCast(b, 51));
}
;
_.equals$ = function equals_15(o){
  return o != null && o.castableTypeMap$ && !!o.castableTypeMap$[51] && dynamicCast(o, 51).value == this.value;
}
;
_.getClass$ = function getClass_272(){
  return Ljava_lang_Short_2_classLit;
}
;
_.hashCode$ = function hashCode_17(){
  return this.value;
}
;
_.toString$ = function toString_21(){
  return '' + this.value;
}
;
_.castableTypeMap$ = {51:1, 66:1, 68:1, 69:1};
_.value = 0;
function $clinit_497(){
  $clinit_497 = nullMethod;
  boxedValues_4 = initDim(_3Ljava_lang_Short_2_classLit, {36:1, 66:1}, 51, 256, 0);
}

var boxedValues_4;
function StackTraceElement_0(methodName){
  this.className_0 = 'Unknown';
  this.methodName = methodName;
  this.fileName = 'Unknown source';
  this.lineNumber = 0;
}

function StackTraceElement(){
}

_ = StackTraceElement_0.prototype = StackTraceElement.prototype = new Object_0;
_.getClass$ = function getClass_273(){
  return Ljava_lang_StackTraceElement_2_classLit;
}
;
_.toString$ = function toString_22(){
  return this.className_0 + '.' + this.methodName + '(' + this.fileName + ':' + this.lineNumber + ')';
}
;
_.castableTypeMap$ = {66:1, 70:1};
_.className_0 = null;
_.fileName = null;
_.lineNumber = 0;
_.methodName = null;
function $equals_2(this$static, other){
  if (!(other != null && other.castableTypeMap$ && !!other.castableTypeMap$[1])) {
    return false;
  }
  return String(this$static) == other;
}

function $equalsIgnoreCase(this$static, other){
  if (other == null)
    return false;
  return this$static == other || this$static.toLowerCase() == other.toLowerCase();
}

function $replace_1(this$static, from){
  var regex;
  regex = $replaceAll(from, '([/\\\\\\.\\*\\+\\?\\|\\(\\)\\[\\]\\{\\}$^])', '\\\\$1');
  return $replaceAll(this$static, regex, ' ');
}

function $replaceAll(this$static, regex, replace){
  replace = __translateReplaceString(replace);
  return this$static.replace(RegExp(regex, 'g'), replace);
}

function $startsWith(this$static, prefix, toffset){
  return !(toffset < 0 || toffset >= this$static.length) && this$static.indexOf(prefix, toffset) == toffset;
}

function $substring(this$static, beginIndex){
  return this$static.substr(beginIndex, this$static.length - beginIndex);
}

function $substring_0(this$static, beginIndex, endIndex){
  return this$static.substr(beginIndex, endIndex - beginIndex);
}

function $trim(this$static){
  if (this$static.length == 0 || this$static[0] > ' ' && this$static[this$static.length - 1] > ' ') {
    return this$static;
  }
  var r1 = this$static.replace(/^(\s*)/, '');
  var r2 = r1.replace(/\s*$/, '');
  return r2;
}

function __translateReplaceString(replaceStr){
  var pos;
  pos = 0;
  while (0 <= (pos = replaceStr.indexOf('\\', pos))) {
    replaceStr.charCodeAt(pos + 1) == 36?(replaceStr = replaceStr.substr(0, pos - 0) + '$' + $substring(replaceStr, ++pos)):(replaceStr = replaceStr.substr(0, pos - 0) + $substring(replaceStr, ++pos));
  }
  return replaceStr;
}

function __valueOf(x, start, end){
  x = x.slice(start, end);
  return String.fromCharCode.apply(null, x);
}

function compareTo_10(thisStr, otherStr){
  thisStr = String(thisStr);
  if (thisStr == otherStr) {
    return 0;
  }
  return thisStr < otherStr?-1:1;
}

function fromCodePoint(codePoint){
  var hiSurrogate, loSurrogate;
  if (codePoint >= 65536) {
    hiSurrogate = 55296 + (codePoint - 65536 >> 10 & 1023) & 65535;
    loSurrogate = 56320 + (codePoint - 65536 & 1023) & 65535;
    return String.fromCharCode(hiSurrogate) + String.fromCharCode(loSurrogate);
  }
   else {
    return String.fromCharCode(codePoint & 65535);
  }
}

_ = String.prototype;
_.compareTo$ = function compareTo_11(other){
  return compareTo_10(this, dynamicCast(other, 1));
}
;
_.equals$ = function equals_16(other){
  return $equals_2(this, other);
}
;
_.getClass$ = function getClass_274(){
  return Ljava_lang_String_2_classLit;
}
;
_.hashCode$ = function hashCode_18(){
  return getHashCode_0(this);
}
;
_.toString$ = function toString_23(){
  return this;
}
;
_.castableTypeMap$ = {1:1, 66:1, 67:1, 68:1};
function $clinit_500(){
  $clinit_500 = nullMethod;
  back_0 = {};
  front = {};
}

function compute(str){
  var hashCode, i, n, nBatch;
  hashCode = 0;
  n = str.length;
  nBatch = n - 4;
  i = 0;
  while (i < nBatch) {
    hashCode = str.charCodeAt(i + 3) + 31 * (str.charCodeAt(i + 2) + 31 * (str.charCodeAt(i + 1) + 31 * (str.charCodeAt(i) + 31 * hashCode))) | 0;
    i += 4;
  }
  while (i < n) {
    hashCode = hashCode * 31 + str.charCodeAt(i++);
  }
  return hashCode | 0;
}

--></script>
<script><!--
function getHashCode_0(str){
  $clinit_500();
  var key = ':' + str;
  var result = front[key];
  if (result != null) {
    return result;
  }
  result = back_0[key];
  result == null && (result = compute(str));
  increment();
  return front[key] = result;
}

function increment(){
  if (count_0 == 256) {
    back_0 = front;
    front = {};
    count_0 = 0;
  }
  ++count_0;
}

var back_0, count_0 = 0, front;
function $append_4(this$static, x){
  this$static.impl.string += String.fromCharCode.apply(null, x);
  return this$static;
}

function $append_5(this$static, x){
  this$static.impl.string += x;
  return this$static;
}

function $replace_2(this$static, start, toInsert){
  $replace(this$static.impl, start, 9, toInsert);
  return this$static;
}

function StringBuffer_0(){
  this.impl = new StringBufferImplAppend_0;
}

function StringBuffer_1(){
  this.impl = new StringBufferImplAppend_0;
}

function StringBuffer_2(){
  this.impl = new StringBufferImplAppend_0;
  this.impl.string += '000000000';
}

function StringBuffer(){
}

_ = StringBuffer_2.prototype = StringBuffer_1.prototype = StringBuffer_0.prototype = StringBuffer.prototype = new Object_0;
_.getClass$ = function getClass_275(){
  return Ljava_lang_StringBuffer_2_classLit;
}
;
_.toString$ = function toString_24(){
  return this.impl.string;
}
;
_.castableTypeMap$ = {67:1};
function $append_7(this$static, x){
  this$static.impl.string += x;
  return this$static;
}

function StringBuilder_0(){
  this.impl = new StringBufferImplAppend_0;
}

function StringBuilder_1(s){
  this.impl = new StringBufferImplAppend_0;
  this.impl.string += s;
}

function StringBuilder(){
}

_ = StringBuilder_1.prototype = StringBuilder_0.prototype = StringBuilder.prototype = new Object_0;
_.getClass$ = function getClass_276(){
  return Ljava_lang_StringBuilder_2_classLit;
}
;
_.toString$ = function toString_25(){
  return this.impl.string;
}
;
_.castableTypeMap$ = {67:1};
function identityHashCode(o){
  return o == null?0:o != null && o.castableTypeMap$ && !!o.castableTypeMap$[1]?getHashCode_0(dynamicCast(o, 1)):o.$H || (o.$H = ++sNextHashId);
}

function UnsupportedOperationException_0(){
  $fillInStackTrace();
}

function UnsupportedOperationException_1(message){
  $fillInStackTrace();
  this.detailMessage = message;
}

function UnsupportedOperationException(){
}

_ = UnsupportedOperationException_1.prototype = UnsupportedOperationException_0.prototype = UnsupportedOperationException.prototype = new RuntimeException;
_.getClass$ = function getClass_277(){
  return Ljava_lang_UnsupportedOperationException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1};
function Date_7(date){
  this.jsdate = new Date(toDouble(date));
}

function Date_6(){
}

_ = Date_7.prototype = Date_6.prototype = new Date_0;
_.getClass$ = function getClass_278(){
  return Ljava_sql_Date_2_classLit;
}
;
_.getHours_0 = function getHours_1(){
  throw new IllegalArgumentException_0;
}
;
_.getMinutes_0 = function getMinutes_1(){
  throw new IllegalArgumentException_0;
}
;
_.getSeconds_0 = function getSeconds_1(){
  throw new IllegalArgumentException_0;
}
;
_.setHours_0 = function setHours_2(i){
  throw new IllegalArgumentException_0;
}
;
_.setMinutes_0 = function setMinutes_2(i){
  throw new IllegalArgumentException_0;
}
;
_.setSeconds_0 = function setSeconds_2(i){
  throw new IllegalArgumentException_0;
}
;
_.toString$ = function toString_26(){
  return '' + (1900 + (this.jsdate.getFullYear() - 1900)) + '-' + padTwo(this.jsdate.getMonth() + 1) + '-' + padTwo(this.jsdate.getDate());
}
;
_.castableTypeMap$ = {6:1, 66:1, 68:1};
function Time_0(time){
  this.jsdate = new Date(toDouble(time));
}

function Time(){
}

_ = Time_0.prototype = Time.prototype = new Date_0;
_.getClass$ = function getClass_279(){
  return Ljava_sql_Time_2_classLit;
}
;
_.getDate_0 = function getDate_1(){
  throw new IllegalArgumentException_0;
}
;
_.getDay_0 = function getDay_0(){
  throw new IllegalArgumentException_0;
}
;
_.getMonth_0 = function getMonth_1(){
  throw new IllegalArgumentException_0;
}
;
_.getYear = function getYear_1(){
  throw new IllegalArgumentException_0;
}
;
_.setDate_0 = function setDate_1(i){
  throw new IllegalArgumentException_0;
}
;
_.setMonth_0 = function setMonth_2(i){
  throw new IllegalArgumentException_0;
}
;
_.setYear = function setYear_2(i){
  throw new IllegalArgumentException_0;
}
;
_.toString$ = function toString_27(){
  return padTwo(this.jsdate.getHours()) + ':' + padTwo(this.jsdate.getMinutes()) + ':' + padTwo(this.jsdate.getSeconds());
}
;
_.castableTypeMap$ = {6:1, 66:1, 68:1};
function $compareTo_8(this$static, o){
  var sign;
  sign = signum(sub(fromDouble(this$static.jsdate.getTime()), fromDouble(o.jsdate.getTime())));
  return sign == 0?this$static.nanos - o.nanos:sign;
}

function $equals_3(this$static, ts){
  return eq(fromDouble(this$static.jsdate.getTime()), fromDouble(ts.jsdate.getTime())) && this$static.nanos == ts.nanos;
}

function $setNanos(this$static, n){
  if (n < 0 || n > 999999999) {
    throw new IllegalArgumentException_1('nanos out of range ' + n);
  }
  this$static.nanos = n;
  $setTime_0(this$static, add_0(mul(divMod(fromDouble(this$static.jsdate.getTime()), P3e8_longLit, false), P3e8_longLit), fromInt(~~(this$static.nanos / 1000000))));
}

function Timestamp_0(time){
  this.jsdate = new Date(toDouble(time));
  this.nanos = toInt((divMod(time, P3e8_longLit, true) , remainder)) * 1000000;
}

function padNine(value){
  var asString, toReturn;
  toReturn = new StringBuffer_2;
  asString = '' + value;
  toReturn = $replace_2(toReturn, 9 - asString.length, asString);
  return toReturn.impl.string;
}

function Timestamp(){
}

_ = Timestamp_0.prototype = Timestamp.prototype = new Date_0;
_.compareTo = function compareTo_12(o){
  return o != null && o.castableTypeMap$ && !!o.castableTypeMap$[52]?$compareTo_8(this, dynamicCast(o, 52)):$compareTo_8(this, new Timestamp_0(o.getTime_0()));
}
;
_.equals$ = function equals_17(ts){
  return ts != null && ts.castableTypeMap$ && !!ts.castableTypeMap$[52] && $equals_3(this, dynamicCast(ts, 52));
}
;
_.getClass$ = function getClass_280(){
  return Ljava_sql_Timestamp_2_classLit;
}
;
_.getTime_0 = function getTime_0(){
  return fromDouble(this.jsdate.getTime());
}
;
_.hashCode$ = function hashCode_19(){
  var time;
  return time = this.getTime_0() , toInt(xor(time, shru(time, 32)));
}
;
_.setTime_0 = function setTime_0(time){
  this.jsdate.setTime(toDouble(time));
  this.nanos = toInt((divMod(time, P3e8_longLit, true) , remainder)) * 1000000;
}
;
_.toString$ = function toString_28(){
  return '' + (1900 + (this.jsdate.getFullYear() - 1900)) + '-' + padTwo(1 + this.jsdate.getMonth()) + '-' + padTwo(this.jsdate.getDate()) + ' ' + padTwo(this.jsdate.getHours()) + ':' + padTwo(this.jsdate.getMinutes()) + ':' + padTwo(this.jsdate.getSeconds()) + '.' + padNine(this.nanos);
}
;
_.castableTypeMap$ = {6:1, 52:1, 66:1, 68:1};
_.nanos = 0;
function $advanceToFind(iter, o){
  var t;
  while (iter.hasNext()) {
    t = iter.next_0();
    if (o == null?t == null:equals__devirtual$(o, t)) {
      return iter;
    }
  }
  return null;
}

function $toString_8(this$static){
  var comma, iter, sb, value;
  sb = new StringBuffer_0;
  comma = null;
  sb.impl.string += '[';
  iter = this$static.iterator_0();
  while (iter.hasNext()) {
    comma != null?(sb.impl.string += comma , sb):(comma = ', ');
    value = iter.next_0();
    sb.impl.string += value === this$static?'(this Collection)':'' + value;
  }
  sb.impl.string += ']';
  return sb.impl.string;
}

function AbstractCollection(){
}

_ = AbstractCollection.prototype = new Object_0;
_.add = function add_1(o){
  throw new UnsupportedOperationException_1('Add not supported on this collection');
}
;
_.addAll = function addAll(c){
  var changed, iter;
  iter = c.iterator_0();
  changed = false;
  while (iter.hasNext()) {
    this.add(iter.next_0()) && (changed = true);
  }
  return changed;
}
;
_.contains = function contains(o){
  var iter;
  iter = $advanceToFind(this.iterator_0(), o);
  return !!iter;
}
;
_.getClass$ = function getClass_281(){
  return Ljava_util_AbstractCollection_2_classLit;
}
;
_.isEmpty = function isEmpty(){
  return this.size_0() == 0;
}
;
_.remove_1 = function remove_10(o){
  var iter;
  iter = $advanceToFind(this.iterator_0(), o);
  if (iter) {
    iter.remove();
    return true;
  }
   else {
    return false;
  }
}
;
_.toArray = function toArray(){
  return this.toArray_0(initDim(_3Ljava_lang_Object_2_classLit, {36:1, 66:1}, 0, this.size_0(), 0));
}
;
_.toArray_0 = function toArray_0(a_0){
  var i, it, size;
  size = this.size_0();
  a_0.length < size && (a_0 = createFrom(a_0, size));
  it = this.iterator_0();
  for (i = 0; i < size; ++i) {
    setCheck(a_0, i, it.next_0());
  }
  a_0.length > size && setCheck(a_0, size, null);
  return a_0;
}
;
_.toString$ = function toString_29(){
  return $toString_8(this);
}
;
_.castableTypeMap$ = {};
function $implFindEntry(this$static, key, remove){
  var entry, iter, k;
  for (iter = this$static.entrySet().iterator_0(); iter.hasNext();) {
    entry = dynamicCast(iter.next_0(), 22);
    k = entry.getKey();
    if (key == null?k == null:equals__devirtual$(key, k)) {
      remove && iter.remove();
      return entry;
    }
  }
  return null;
}

function $keySet(this$static){
  var entrySet;
  entrySet = this$static.entrySet();
  return new AbstractMap$1_0(this$static, entrySet);
}

function AbstractMap(){
}

_ = AbstractMap.prototype = new Object_0;
_.containsKey = function containsKey(key){
  return !!$implFindEntry(this, key, false);
}
;
_.equals$ = function equals_18(obj){
  var entry, entry$iterator, otherKey, otherMap, otherValue;
  if (obj === this) {
    return true;
  }
  if (!(obj != null && obj.castableTypeMap$ && !!obj.castableTypeMap$[18])) {
    return false;
  }
  otherMap = dynamicCast(obj, 18);
  if (this.size_0() != otherMap.size_0()) {
    return false;
  }
  for (entry$iterator = otherMap.entrySet().iterator_0(); entry$iterator.hasNext();) {
    entry = dynamicCast(entry$iterator.next_0(), 22);
    otherKey = entry.getKey();
    otherValue = entry.getValue_0();
    if (!this.containsKey(otherKey)) {
      return false;
    }
    if (!equalsWithNullCheck(otherValue, this.get(otherKey))) {
      return false;
    }
  }
  return true;
}
;
_.get = function get_1(key){
  var entry;
  entry = $implFindEntry(this, key, false);
  return !entry?null:entry.getValue_0();
}
;
_.getClass$ = function getClass_282(){
  return Ljava_util_AbstractMap_2_classLit;
}
;
_.hashCode$ = function hashCode_20(){
  var entry, entry$iterator, hashCode;
  hashCode = 0;
  for (entry$iterator = this.entrySet().iterator_0(); entry$iterator.hasNext();) {
    entry = dynamicCast(entry$iterator.next_0(), 22);
    hashCode += entry.hashCode$();
    hashCode = ~~hashCode;
  }
  return hashCode;
}
;
_.isEmpty = function isEmpty_0(){
  return this.size_0() == 0;
}
;
_.put = function put(key, value){
  throw new UnsupportedOperationException_1('Put not supported on this map');
}
;
_.remove_2 = function remove_11(key){
  var entry;
  entry = $implFindEntry(this, key, true);
  return !entry?null:entry.getValue_0();
}
;
_.size_0 = function size_0(){
  return this.entrySet().size_0();
}
;
_.toString$ = function toString_30(){
  var comma, entry, iter, s;
  s = '{';
  comma = false;
  for (iter = this.entrySet().iterator_0(); iter.hasNext();) {
    entry = dynamicCast(iter.next_0(), 22);
    comma?(s += ', '):(comma = true);
    s += '' + entry.getKey();
    s += '=';
    s += '' + entry.getValue_0();
  }
  return s + '}';
}
;
_.castableTypeMap$ = {18:1};
function $addAllHashEntries(this$static, dest){
  var hashCodeMap = this$static.hashCodeMap;
  for (var hashCode in hashCodeMap) {
    var hashCodeInt = parseInt(hashCode, 10);
    if (hashCode == hashCodeInt) {
      var array = hashCodeMap[hashCodeInt];
      for (var i = 0, c = array.length; i < c; ++i) {
        dest.add(array[i]);
      }
    }
  }
}

function $addAllStringEntries(this$static, dest){
  var stringMap = this$static.stringMap;
  for (var key in stringMap) {
    if (key.charCodeAt(0) == 58) {
      var entry = new AbstractHashMap$MapEntryString_0(this$static, key.substring(1));
      dest.add(entry);
    }
  }
}

function $clearImpl(this$static){
  this$static.hashCodeMap = [];
  this$static.stringMap = {};
  this$static.nullSlotLive = false;
  this$static.nullSlot = null;
  this$static.size = 0;
}

function $containsKey(this$static, key){
  return key == null?this$static.nullSlotLive:key != null && key.castableTypeMap$ && !!key.castableTypeMap$[1]?$hasStringValue(this$static, dynamicCast(key, 1)):$hasHashValue(this$static, key, this$static.getHashCode(key));
}

function $get_3(this$static, key){
  return key == null?this$static.nullSlot:key != null && key.castableTypeMap$ && !!key.castableTypeMap$[1]?this$static.stringMap[':' + dynamicCast(key, 1)]:$getHashValue(this$static, key, this$static.getHashCode(key));
}

function $getHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return entry.getValue_0();
      }
    }
  }
  return null;
}

function $hasHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return true;
      }
    }
  }
  return false;
}

function $hasStringValue(this$static, key){
  return ':' + key in this$static.stringMap;
}

function $put_0(this$static, key, value){
  return key == null?$putNullSlot(this$static, value):key != null && key.castableTypeMap$ && !!key.castableTypeMap$[1]?$putStringValue(this$static, dynamicCast(key, 1), value):$putHashValue(this$static, key, value, this$static.getHashCode(key));
}

function $putHashValue(this$static, key, value, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        var previous = entry.getValue_0();
        entry.setValue(value);
        return previous;
      }
    }
  }
   else {
    array = this$static.hashCodeMap[hashCode] = [];
  }
  var entry = new MapEntryImpl_0(key, value);
  array.push(entry);
  ++this$static.size;
  return null;
}

function $putNullSlot(this$static, value){
  var result;
  result = this$static.nullSlot;
  this$static.nullSlot = value;
  if (!this$static.nullSlotLive) {
    this$static.nullSlotLive = true;
    ++this$static.size;
  }
  return result;
}

function $putStringValue(this$static, key, value){
  var result, stringMap = this$static.stringMap;
  key = ':' + key;
  key in stringMap?(result = stringMap[key]):++this$static.size;
  stringMap[key] = value;
  return result;
}

function $remove_6(this$static, key){
  return key == null?$removeNullSlot(this$static):key != null && key.castableTypeMap$ && !!key.castableTypeMap$[1]?$removeStringValue(this$static, dynamicCast(key, 1)):$removeHashValue(this$static, key, this$static.getHashCode(key));
}

function $removeHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        array.length == 1?delete this$static.hashCodeMap[hashCode]:array.splice(i, 1);
        --this$static.size;
        return entry.getValue_0();
      }
    }
  }
  return null;
}

function $removeNullSlot(this$static){
  var result;
  result = this$static.nullSlot;
  this$static.nullSlot = null;
  if (this$static.nullSlotLive) {
    this$static.nullSlotLive = false;
    --this$static.size;
  }
  return result;
}

function $removeStringValue(this$static, key){
  var result, stringMap = this$static.stringMap;
  key = ':' + key;
  if (key in stringMap) {
    result = stringMap[key];
    --this$static.size;
    delete stringMap[key];
  }
  return result;
}

function AbstractHashMap(){
}

_ = AbstractHashMap.prototype = new AbstractMap;
_.containsKey = function containsKey_0(key){
  return key == null?this.nullSlotLive:key != null && key.castableTypeMap$ && !!key.castableTypeMap$[1]?':' + dynamicCast(key, 1) in this.stringMap:$hasHashValue(this, key, this.getHashCode(key));
}
;
_.entrySet = function entrySet_0(){
  return new AbstractHashMap$EntrySet_0(this);
}
;
_.equalsBridge = function equalsBridge(value1, value2){
  return this.equals(value1, value2);
}
;
_.get = function get_2(key){
  return key == null?this.nullSlot:key != null && key.castableTypeMap$ && !!key.castableTypeMap$[1]?this.stringMap[':' + dynamicCast(key, 1)]:$getHashValue(this, key, this.getHashCode(key));
}
;
_.getClass$ = function getClass_283(){
  return Ljava_util_AbstractHashMap_2_classLit;
}
;
_.put = function put_0(key, value){
  return $putNullSlot(this, value);
}
;
_.remove_2 = function remove_12(key){
  return $removeNullSlot(this);
}
;
_.size_0 = function size_1(){
  return this.size;
}
;
_.castableTypeMap$ = {18:1};
_.hashCodeMap = null;
_.nullSlot = null;
_.nullSlotLive = false;
_.size = 0;
_.stringMap = null;
function AbstractSet(){
}

_ = AbstractSet.prototype = new AbstractCollection;
_.equals$ = function equals_19(o){
  var iter, other, otherItem;
  if (o === this) {
    return true;
  }
  if (!(o != null && o.castableTypeMap$ && !!o.castableTypeMap$[74])) {
    return false;
  }
  other = dynamicCast(o, 74);
  if (other.size_0() != this.size_0()) {
    return false;
  }
  for (iter = other.iterator_0(); iter.hasNext();) {
    otherItem = iter.next_0();
    if (!this.contains(otherItem)) {
      return false;
    }
  }
  return true;
}
;
_.getClass$ = function getClass_284(){
  return Ljava_util_AbstractSet_2_classLit;
}
;
_.hashCode$ = function hashCode_21(){
  var hashCode, iter, next;
  hashCode = 0;
  for (iter = this.iterator_0(); iter.hasNext();) {
    next = iter.next_0();
    if (next != null) {
      hashCode += hashCode__devirtual$(next);
      hashCode = ~~hashCode;
    }
  }
  return hashCode;
}
;
_.castableTypeMap$ = {74:1};
function $contains(this$static, o){
  var entry, key, value;
  if (o != null && o.castableTypeMap$ && !!o.castableTypeMap$[22]) {
    entry = dynamicCast(o, 22);
    key = entry.getKey();
    if ($containsKey(this$static.this$0, key)) {
      value = $get_3(this$static.this$0, key);
      return this$static.this$0.equals(entry.getValue_0(), value);
    }
  }
  return false;
}

function AbstractHashMap$EntrySet_0(this$0){
  this.this$0 = this$0;
}

function AbstractHashMap$EntrySet(){
}

_ = AbstractHashMap$EntrySet_0.prototype = AbstractHashMap$EntrySet.prototype = new AbstractSet;
_.contains = function contains_0(o){
  return $contains(this, o);
}
;
_.getClass$ = function getClass_285(){
  return Ljava_util_AbstractHashMap$EntrySet_2_classLit;
}
;
_.iterator_0 = function iterator_3(){
  return new AbstractHashMap$EntrySetIterator_0(this.this$0);
}
;
_.remove_1 = function remove_13(entry){
  var key;
  if ($contains(this, entry)) {
    key = dynamicCast(entry, 22).getKey();
    $remove_6(this.this$0, key);
    return true;
  }
  return false;
}
;
_.size_0 = function size_2(){
  return this.this$0.size;
}
;
_.castableTypeMap$ = {74:1};
_.this$0 = null;
function AbstractHashMap$EntrySetIterator_0(this$0){
  var list;
  this.this$0 = this$0;
  list = new ArrayList_0;
  this$0.nullSlotLive && $add_4(list, new AbstractHashMap$MapEntryNull_0(this$0));
  $addAllStringEntries(this$0, list);
  $addAllHashEntries(this$0, list);
  this.iter = new AbstractList$IteratorImpl_0(list);
}

function AbstractHashMap$EntrySetIterator(){
}

_ = AbstractHashMap$EntrySetIterator_0.prototype = AbstractHashMap$EntrySetIterator.prototype = new Object_0;
_.getClass$ = function getClass_286(){
  return Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit;
}
;
_.hasNext = function hasNext_3(){
  return $hasNext_2(this.iter);
}
;
_.next_0 = function next_4(){
  return this.last = dynamicCast($next_4(this.iter), 22);
}
;
_.remove = function remove_14(){
  if (!this.last) {
    throw new IllegalStateException_1('Must call next() before remove().');
  }
   else {
    $remove_7(this.iter);
    $remove_6(this.this$0, this.last.getKey());
    this.last = null;
  }
}
;
_.castableTypeMap$ = {};
_.iter = null;
_.last = null;
_.this$0 = null;
function AbstractMapEntry(){
}

_ = AbstractMapEntry.prototype = new Object_0;
_.equals$ = function equals_20(other){
  var entry;
  if (other != null && other.castableTypeMap$ && !!other.castableTypeMap$[22]) {
    entry = dynamicCast(other, 22);
    if (equalsWithNullCheck(this.getKey(), entry.getKey()) && equalsWithNullCheck(this.getValue_0(), entry.getValue_0())) {
      return true;
    }
  }
  return false;
}
;
_.getClass$ = function getClass_287(){
  return Ljava_util_AbstractMapEntry_2_classLit;
}
;
_.hashCode$ = function hashCode_22(){
  var keyHash, valueHash;
  keyHash = 0;
  valueHash = 0;
  this.getKey() != null && (keyHash = hashCode__devirtual$(this.getKey()));
  this.getValue_0() != null && (valueHash = hashCode__devirtual$(this.getValue_0()));
  return keyHash ^ valueHash;
}
;
_.toString$ = function toString_31(){
  return this.getKey() + '=' + this.getValue_0();
}
;
_.castableTypeMap$ = {22:1};
function AbstractHashMap$MapEntryNull_0(this$0){
  this.this$0 = this$0;
}

function AbstractHashMap$MapEntryNull(){
}

_ = AbstractHashMap$MapEntryNull_0.prototype = AbstractHashMap$MapEntryNull.prototype = new AbstractMapEntry;
_.getClass$ = function getClass_288(){
  return Ljava_util_AbstractHashMap$MapEntryNull_2_classLit;
}
;
_.getKey = function getKey_0(){
  return null;
}
;
_.getValue_0 = function getValue_5(){
  return this.this$0.nullSlot;
}
;
_.setValue = function setValue(object){
  return $putNullSlot(this.this$0, object);
}
;
_.castableTypeMap$ = {22:1};
_.this$0 = null;
function AbstractHashMap$MapEntryString_0(this$0, key){
  this.this$0 = this$0;
  this.key = key;
}

function AbstractHashMap$MapEntryString(){
}

_ = AbstractHashMap$MapEntryString_0.prototype = AbstractHashMap$MapEntryString.prototype = new AbstractMapEntry;
_.getClass$ = function getClass_289(){
  return Ljava_util_AbstractHashMap$MapEntryString_2_classLit;
}
;
_.getKey = function getKey_1(){
  return this.key;
}
;
_.getValue_0 = function getValue_6(){
  return this.this$0.stringMap[':' + this.key];
}
;
_.setValue = function setValue_0(object){
  return $putStringValue(this.this$0, this.key, object);
}
;
_.castableTypeMap$ = {22:1};
_.key = null;
_.this$0 = null;
function $equals_4(this$static, o){
  var elem, elemOther, iter, iterOther, other;
  if (o === this$static) {
    return true;
  }
  if (!(o != null && o.castableTypeMap$ && !!o.castableTypeMap$[3])) {
    return false;
  }
  other = dynamicCast(o, 3);
  if (this$static.size_0() != other.size_0()) {
    return false;
  }
  iter = this$static.iterator_0();
  iterOther = other.iterator_0();
  while (iter.hasNext()) {
    elem = iter.next_0();
    elemOther = iterOther.next_0();
    if (!(elem == null?elemOther == null:equals__devirtual$(elem, elemOther))) {
      return false;
    }
  }
  return true;
}

function $hashCode_3(this$static){
  var iter, k, obj;
  k = 1;
  iter = this$static.iterator_0();
  while (iter.hasNext()) {
    obj = iter.next_0();
    k = 31 * k + (obj == null?0:hashCode__devirtual$(obj));
    k = ~~k;
  }
  return k;
}

function $indexOf_2(this$static, toFind){
  var i, n;
  for (i = 0 , n = this$static.array.length; i < n; ++i) {
    if (toFind == null?(checkIndex(i, this$static.array.length) , this$static.array[i]) == null:equals__devirtual$(toFind, (checkIndex(i, this$static.array.length) , this$static.array[i]))) {
      return i;
    }
  }
  return -1;
}

function checkIndex(index, size){
  (index < 0 || index >= size) && indexOutOfBounds(index, size);
}

function indexOutOfBounds(index, size){
  throw new IndexOutOfBoundsException_1('Index: ' + index + ', Size: ' + size);
}

function AbstractList(){
}

_ = AbstractList.prototype = new AbstractCollection;
_.add = function add_2(obj){
  this.add_0(this.size_0(), obj);
  return true;
}
;
_.add_0 = function add_3(index, element){
  throw new UnsupportedOperationException_1('Add not supported on this list');
}
;
_.equals$ = function equals_21(o){
  return $equals_4(this, o);
}
;
_.getClass$ = function getClass_290(){
  return Ljava_util_AbstractList_2_classLit;
}
;
_.hashCode$ = function hashCode_23(){
  return $hashCode_3(this);
}
;
_.iterator_0 = function iterator_4(){
  return new AbstractList$IteratorImpl_0(this);
}
;
_.listIterator = function listIterator(){
  return this.listIterator_0(0);
}
;
_.listIterator_0 = function listIterator_0(from){
  return new AbstractList$ListIteratorImpl_0(this, from);
}
;
_.remove_3 = function remove_15(index){
  throw new UnsupportedOperationException_1('Remove not supported on this list');
}
;
_.castableTypeMap$ = {3:1};
function $hasNext_2(this$static){
  return this$static.i < this$static.this$0_0.size_0();
}

function $next_4(this$static){
  if (this$static.i >= this$static.this$0_0.size_0()) {
    throw new NoSuchElementException_0;
  }
  return this$static.this$0_0.get_0(this$static.last = this$static.i++);
}

function $remove_7(this$static){
  if (this$static.last < 0) {
    throw new IllegalStateException_0;
  }
  this$static.this$0_0.remove_3(this$static.last);
  this$static.i = this$static.last;
  this$static.last = -1;
}

function AbstractList$IteratorImpl_0(this$0){
  this.this$0_0 = this$0;
}

function AbstractList$IteratorImpl(){
}

_ = AbstractList$IteratorImpl_0.prototype = AbstractList$IteratorImpl.prototype = new Object_0;
_.getClass$ = function getClass_291(){
  return Ljava_util_AbstractList$IteratorImpl_2_classLit;
}
;
_.hasNext = function hasNext_4(){
  return this.i < this.this$0_0.size_0();
}
;
_.next_0 = function next_5(){
  return $next_4(this);
}
;
_.remove = function remove_16(){
  $remove_7(this);
}
;
_.castableTypeMap$ = {};
_.i = 0;
_.last = -1;
_.this$0_0 = null;
function $previous(this$static){
  if (this$static.i <= 0) {
    throw new NoSuchElementException_0;
  }
  return this$static.this$0.get_0(this$static.last = --this$static.i);
}

function AbstractList$ListIteratorImpl_0(this$0, start){
  var size;
  this.this$0 = this$0;
  this.this$0_0 = this$0;
  size = this$0.size_0();
  (start < 0 || start > size) && indexOutOfBounds(start, size);
  this.i = start;
}

function AbstractList$ListIteratorImpl(){
}

_ = AbstractList$ListIteratorImpl_0.prototype = AbstractList$ListIteratorImpl.prototype = new AbstractList$IteratorImpl;
_.getClass$ = function getClass_292(){
  return Ljava_util_AbstractList$ListIteratorImpl_2_classLit;
}
;
_.hasPrevious = function hasPrevious(){
  return this.i > 0;
}
;
_.previous = function previous_2(){
  return $previous(this);
}
;
_.castableTypeMap$ = {};
_.this$0 = null;
function AbstractList$SubList_0(wrapped, fromIndex, toIndex){
  this.wrapped = wrapped;
  this.fromIndex = fromIndex;
  this.size = toIndex - fromIndex;
  if (fromIndex > toIndex) {
    throw new IllegalArgumentException_1('fromIndex: ' + fromIndex + ' > toIndex: ' + toIndex);
  }
  if (fromIndex < 0) {
    throw new IndexOutOfBoundsException_1('fromIndex: ' + fromIndex + ' < 0');
  }
  if (toIndex > wrapped.size) {
    throw new IndexOutOfBoundsException_1('toIndex: ' + toIndex + ' > wrapped.size() ' + wrapped.size);
  }
}

function AbstractList$SubList(){
}

_ = AbstractList$SubList_0.prototype = AbstractList$SubList.prototype = new AbstractList;
_.add_0 = function add_4(index, element){
  checkIndex(index, this.size + 1);
  ++this.size;
  $add_5(this.wrapped, this.fromIndex + index, element);
}
;
_.get_0 = function get_3(index){
  checkIndex(index, this.size);
  return $get_4(this.wrapped, this.fromIndex + index);
}
;
_.getClass$ = function getClass_293(){
  return Ljava_util_AbstractList$SubList_2_classLit;
}
;
_.remove_3 = function remove_17(index){
  var result;
  checkIndex(index, this.size);
  result = $remove_8(this.wrapped, this.fromIndex + index);
  --this.size;
  return result;
}
;
_.size_0 = function size_3(){
  return this.size;
}
;
_.castableTypeMap$ = {3:1};
_.fromIndex = 0;
_.size = 0;
_.wrapped = null;
function AbstractMap$1_0(this$0, val$entrySet){
  this.this$0 = this$0;
  this.val$entrySet = val$entrySet;
}

function AbstractMap$1(){
}

_ = AbstractMap$1_0.prototype = AbstractMap$1.prototype = new AbstractSet;
_.contains = function contains_1(key){
  return this.this$0.containsKey(key);
}
;
_.getClass$ = function getClass_294(){
  return Ljava_util_AbstractMap$1_2_classLit;
}
;
_.iterator_0 = function iterator_5(){
  var outerIter;
  return outerIter = this.val$entrySet.iterator_0() , new AbstractMap$1$1_0(outerIter);
}
;
_.size_0 = function size_4(){
  return this.val$entrySet.size_0();
}
;
_.castableTypeMap$ = {74:1};
_.this$0 = null;
_.val$entrySet = null;
function AbstractMap$1$1_0(val$outerIter){
  this.val$outerIter = val$outerIter;
}

function AbstractMap$1$1(){
}

_ = AbstractMap$1$1_0.prototype = AbstractMap$1$1.prototype = new Object_0;
_.getClass$ = function getClass_295(){
  return Ljava_util_AbstractMap$1$1_2_classLit;
}
;
_.hasNext = function hasNext_5(){
  return this.val$outerIter.hasNext();
}
;
_.next_0 = function next_6(){
  var entry;
  return entry = dynamicCast(this.val$outerIter.next_0(), 22) , entry.getKey();
}
;
_.remove = function remove_18(){
  this.val$outerIter.remove();
}
;
_.castableTypeMap$ = {};
_.val$outerIter = null;
function AbstractSequentialList(){
}

_ = AbstractSequentialList.prototype = new AbstractList;
--></script>
<script><!--
_.add_0 = function add_5(index, element){
  var iter;
  iter = $listIterator_2(this, index);
  $addBefore(iter.this$0, element, iter.currentNode);
  ++iter.currentIndex;
  iter.lastNode = null;
}
;
_.get_0 = function get_4(index){
  var $e0, iter;
  iter = $listIterator_2(this, index);
  try {
    return $next_6(iter);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 73)) {
      throw new IndexOutOfBoundsException_1("Can't get element " + index);
    }
     else 
      throw $e0;
  }
}
;
_.getClass$ = function getClass_296(){
  return Ljava_util_AbstractSequentialList_2_classLit;
}
;
_.iterator_0 = function iterator_6(){
  return $listIterator_2(this, 0);
}
;
_.remove_3 = function remove_19(index){
  var $e0, iter, old;
  iter = $listIterator_2(this, index);
  try {
    old = $next_6(iter);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 73)) {
      throw new IndexOutOfBoundsException_1("Can't remove element " + index);
    }
     else 
      throw $e0;
  }
  $remove_11(iter);
  return old;
}
;
_.castableTypeMap$ = {3:1};
function $add_4(this$static, o){
  setCheck(this$static.array, this$static.size++, o);
  return true;
}

function $add_5(this$static, index, o){
  (index < 0 || index > this$static.size) && indexOutOfBounds(index, this$static.size);
  this$static.array.splice(index, 0, o);
  ++this$static.size;
}

function $addAll(this$static, c){
  var cArray, len;
  cArray = c.toArray();
  len = cArray.length;
  if (len == 0) {
    return false;
  }
  Array.prototype.splice.apply(this$static.array, [this$static.size, 0].concat(cArray));
  this$static.size += len;
  return true;
}

function $clear(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classLit, {36:1, 66:1}, 0, 0, 0);
  this$static.size = 0;
}

function $get_4(this$static, index){
  checkIndex(index, this$static.size);
  return this$static.array[index];
}

function $indexOf_3(this$static, o, index){
  for (; index < this$static.size; ++index) {
    if (equalsWithNullCheck(o, this$static.array[index])) {
      return index;
    }
  }
  return -1;
}

function $remove_8(this$static, index){
  var previous;
  previous = (checkIndex(index, this$static.size) , this$static.array[index]);
  this$static.array.splice(index, 1);
  --this$static.size;
  return previous;
}

function $remove_9(this$static, o){
  var i;
  i = $indexOf_3(this$static, o, 0);
  if (i == -1) {
    return false;
  }
  $remove_8(this$static, i);
  return true;
}

function $set_0(this$static, index, o){
  var previous;
  previous = (checkIndex(index, this$static.size) , this$static.array[index]);
  setCheck(this$static.array, index, o);
  return previous;
}

function $toArray(this$static){
  var a_0, result;
  return a_0 = this$static.array , result = a_0.slice(0, this$static.size) , initValues(a_0.arrayClass$, a_0.castableTypeMap$, a_0.queryId$, result) , result;
}

function $toArray_0(this$static, out){
  var i, a_0, result;
  out.length < this$static.size && (out = (a_0 = out , result = createFromSeed(0, this$static.size) , initValues(a_0.arrayClass$, a_0.castableTypeMap$, a_0.queryId$, result) , result));
  for (i = 0; i < this$static.size; ++i) {
    setCheck(out, i, this$static.array[i]);
  }
  out.length > this$static.size && setCheck(out, this$static.size, null);
  return out;
}

function ArrayList_0(){
  this.array = initDim(_3Ljava_lang_Object_2_classLit, {36:1, 66:1}, 0, 0, 0);
}

function ArrayList(){
}

_ = ArrayList_0.prototype = ArrayList.prototype = new AbstractList;
_.add = function add_6(o){
  return setCheck(this.array, this.size++, o) , true;
}
;
_.add_0 = function add_7(index, o){
  $add_5(this, index, o);
}
;
_.addAll = function addAll_0(c){
  return $addAll(this, c);
}
;
_.contains = function contains_2(o){
  return $indexOf_3(this, o, 0) != -1;
}
;
_.get_0 = function get_5(index){
  return checkIndex(index, this.size) , this.array[index];
}
;
_.getClass$ = function getClass_297(){
  return Ljava_util_ArrayList_2_classLit;
}
;
_.isEmpty = function isEmpty_1(){
  return this.size == 0;
}
;
_.remove_3 = function remove_20(index){
  return $remove_8(this, index);
}
;
_.remove_1 = function remove_21(o){
  return $remove_9(this, o);
}
;
_.size_0 = function size_5(){
  return this.size;
}
;
_.toArray = function toArray_1(){
  var a_0, result;
  return a_0 = this.array , result = a_0.slice(0, this.size) , initValues(a_0.arrayClass$, a_0.castableTypeMap$, a_0.queryId$, result) , result;
}
;
_.toArray_0 = function toArray_2(out){
  return $toArray_0(this, out);
}
;
_.castableTypeMap$ = {3:1, 66:1};
_.size = 0;
function Arrays$ArrayList_0(array){
  this.array = array;
}

function Arrays$ArrayList(){
}

_ = Arrays$ArrayList_0.prototype = Arrays$ArrayList.prototype = new AbstractList;
_.contains = function contains_3(o){
  return $indexOf_2(this, o) != -1;
}
;
_.get_0 = function get_6(index){
  return checkIndex(index, this.array.length) , this.array[index];
}
;
_.getClass$ = function getClass_298(){
  return Ljava_util_Arrays$ArrayList_2_classLit;
}
;
_.size_0 = function size_6(){
  return this.array.length;
}
;
_.toArray = function toArray_3(){
  return clone(this.array);
}
;
_.toArray_0 = function toArray_4(out){
  var i, size;
  size = this.array.length;
  out.length < size && (out = createFrom(out, size));
  for (i = 0; i < size; ++i) {
    setCheck(out, i, this.array[i]);
  }
  out.length > size && setCheck(out, size, null);
  return out;
}
;
_.castableTypeMap$ = {3:1, 66:1};
_.array = null;
function $clinit_527(){
  $clinit_527 = nullMethod;
  EMPTY_LIST = new Collections$EmptyList_0;
}

function unmodifiableList(list){
  $clinit_527();
  return list?new Collections$UnmodifiableRandomAccessList_0(list):new Collections$UnmodifiableList_0(null);
}

var EMPTY_LIST;
function Collections$EmptyList_0(){
}

function Collections$EmptyList(){
}

_ = Collections$EmptyList_0.prototype = Collections$EmptyList.prototype = new AbstractList;
_.contains = function contains_4(object){
  return false;
}
;
_.get_0 = function get_7(location_0){
  throw new IndexOutOfBoundsException_0;
}
;
_.getClass$ = function getClass_299(){
  return Ljava_util_Collections$EmptyList_2_classLit;
}
;
_.size_0 = function size_7(){
  return 0;
}
;
_.castableTypeMap$ = {3:1, 66:1};
function Collections$SingletonList_0(element){
  this.element = element;
}

function Collections$SingletonList(){
}

_ = Collections$SingletonList_0.prototype = Collections$SingletonList.prototype = new AbstractList;
_.contains = function contains_5(item){
  return equalsWithNullCheck(this.element, item);
}
;
_.get_0 = function get_8(index){
  if (index == 0) {
    return this.element;
  }
   else {
    throw new IndexOutOfBoundsException_0;
  }
}
;
_.getClass$ = function getClass_300(){
  return Ljava_util_Collections$SingletonList_2_classLit;
}
;
_.size_0 = function size_8(){
  return 1;
}
;
_.castableTypeMap$ = {3:1, 66:1};
_.element = null;
function Collections$UnmodifiableCollection(){
}

_ = Collections$UnmodifiableCollection.prototype = new Object_0;
_.add = function add_8(o){
  throw new UnsupportedOperationException_0;
}
;
_.addAll = function addAll_1(c){
  throw new UnsupportedOperationException_0;
}
;
_.getClass$ = function getClass_301(){
  return Ljava_util_Collections$UnmodifiableCollection_2_classLit;
}
;
_.iterator_0 = function iterator_7(){
  return new Collections$UnmodifiableCollectionIterator_0(this.coll.iterator_0());
}
;
_.remove_1 = function remove_22(o){
  throw new UnsupportedOperationException_0;
}
;
_.size_0 = function size_9(){
  return this.coll.size_0();
}
;
_.toArray = function toArray_5(){
  return this.coll.toArray();
}
;
_.toArray_0 = function toArray_6(a_0){
  return this.coll.toArray_0(a_0);
}
;
_.toString$ = function toString_32(){
  return this.coll.toString$();
}
;
_.castableTypeMap$ = {};
_.coll = null;
function Collections$UnmodifiableCollectionIterator_0(it){
  this.it = it;
}

function Collections$UnmodifiableCollectionIterator(){
}

_ = Collections$UnmodifiableCollectionIterator_0.prototype = Collections$UnmodifiableCollectionIterator.prototype = new Object_0;
_.getClass$ = function getClass_302(){
  return Ljava_util_Collections$UnmodifiableCollectionIterator_2_classLit;
}
;
_.hasNext = function hasNext_6(){
  return this.it.hasNext();
}
;
_.next_0 = function next_7(){
  return this.it.next_0();
}
;
_.remove = function remove_23(){
  throw new UnsupportedOperationException_0;
}
;
_.castableTypeMap$ = {};
_.it = null;
function Collections$UnmodifiableList_0(list){
  this.coll = list;
  this.list = list;
}

function Collections$UnmodifiableList(){
}

_ = Collections$UnmodifiableList_0.prototype = Collections$UnmodifiableList.prototype = new Collections$UnmodifiableCollection;
_.equals$ = function equals_22(o){
  return $equals_4(this.list, o);
}
;
_.get_0 = function get_9(index){
  return $get_4(this.list, index);
}
;
_.getClass$ = function getClass_303(){
  return Ljava_util_Collections$UnmodifiableList_2_classLit;
}
;
_.hashCode$ = function hashCode_24(){
  return $hashCode_3(this.list);
}
;
_.isEmpty = function isEmpty_2(){
  return this.list.size == 0;
}
;
_.listIterator = function listIterator_1(){
  return new Collections$UnmodifiableListIterator_0(new AbstractList$ListIteratorImpl_0(this.list, 0));
}
;
_.listIterator_0 = function listIterator_2(from){
  return new Collections$UnmodifiableListIterator_0(new AbstractList$ListIteratorImpl_0(this.list, from));
}
;
_.castableTypeMap$ = {3:1};
_.list = null;
function Collections$UnmodifiableListIterator_0(lit){
  this.it = lit;
  this.lit = lit;
}

function Collections$UnmodifiableListIterator(){
}

_ = Collections$UnmodifiableListIterator_0.prototype = Collections$UnmodifiableListIterator.prototype = new Collections$UnmodifiableCollectionIterator;
_.getClass$ = function getClass_304(){
  return Ljava_util_Collections$UnmodifiableListIterator_2_classLit;
}
;
_.hasPrevious = function hasPrevious_0(){
  return this.lit.i > 0;
}
;
_.previous = function previous_3(){
  return $previous(this.lit);
}
;
_.castableTypeMap$ = {};
_.lit = null;
function Collections$UnmodifiableRandomAccessList_0(list){
  this.coll = list;
  this.list = list;
}

function Collections$UnmodifiableRandomAccessList(){
}

_ = Collections$UnmodifiableRandomAccessList_0.prototype = Collections$UnmodifiableRandomAccessList.prototype = new Collections$UnmodifiableList;
_.getClass$ = function getClass_305(){
  return Ljava_util_Collections$UnmodifiableRandomAccessList_2_classLit;
}
;
_.castableTypeMap$ = {3:1};
function Collections$UnmodifiableSet_0(set){
  this.coll = set;
}

function Collections$UnmodifiableSet(){
}

_ = Collections$UnmodifiableSet_0.prototype = Collections$UnmodifiableSet.prototype = new Collections$UnmodifiableCollection;
_.equals$ = function equals_23(o){
  return this.coll.equals$(o);
}
;
_.getClass$ = function getClass_306(){
  return Ljava_util_Collections$UnmodifiableSet_2_classLit;
}
;
_.hashCode$ = function hashCode_25(){
  return this.coll.hashCode$();
}
;
_.castableTypeMap$ = {74:1};
function $clinit_536(){
  $clinit_536 = nullMethod;
  DAYS = initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']);
  MONTHS = initValues(_3Ljava_lang_String_2_classLit, {36:1, 66:1}, 1, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']);
}

var DAYS, MONTHS;
function HashMap_0(){
  $clearImpl(this);
}

function HashMap(){
}

_ = HashMap_0.prototype = HashMap.prototype = new AbstractHashMap;
_.equals = function equals_24(value1, value2){
  return (value1 == null?null:value1) === (value2 == null?null:value2) || value1 != null && equals__devirtual$(value1, value2);
}
;
_.getClass$ = function getClass_307(){
  return Ljava_util_HashMap_2_classLit;
}
;
_.getHashCode = function getHashCode_1(key){
  return ~~hashCode__devirtual$(key);
}
;
_.castableTypeMap$ = {18:1, 66:1};
function $add_6(this$static, o){
  var old;
  old = $put_0(this$static.map, o, this$static);
  return old == null;
}

function HashSet_0(){
  this.map = new HashMap_0;
}

function HashSet(){
}

_ = HashSet_0.prototype = HashSet.prototype = new AbstractSet;
_.add = function add_9(o){
  var old;
  return old = $put_0(this.map, o, this) , old == null;
}
;
_.contains = function contains_6(o){
  return $containsKey(this.map, o);
}
;
_.getClass$ = function getClass_308(){
  return Ljava_util_HashSet_2_classLit;
}
;
_.isEmpty = function isEmpty_3(){
  return this.map.size_0() == 0;
}
;
_.iterator_0 = function iterator_8(){
  var outerIter;
  return outerIter = $keySet(this.map).val$entrySet.iterator_0() , new AbstractMap$1$1_0(outerIter);
}
;
_.remove_1 = function remove_24(o){
  return $remove_6(this.map, o) != null;
}
;
_.size_0 = function size_10(){
  return this.map.size;
}
;
_.toString$ = function toString_33(){
  return $toString_8($keySet(this.map));
}
;
_.castableTypeMap$ = {66:1, 74:1};
_.map = null;
function IdentityHashMap_0(){
  $clearImpl(this);
}

function IdentityHashMap(){
}

_ = IdentityHashMap_0.prototype = IdentityHashMap.prototype = new AbstractHashMap;
_.equals$ = function equals_25(obj){
  var entry, entry$iterator, otherKey, otherMap, otherValue;
  if (obj === this) {
    return true;
  }
  if (!(obj != null && obj.castableTypeMap$ && !!obj.castableTypeMap$[18])) {
    return false;
  }
  otherMap = dynamicCast(obj, 18);
  if (this.size != otherMap.size_0()) {
    return false;
  }
  for (entry$iterator = otherMap.entrySet().iterator_0(); entry$iterator.hasNext();) {
    entry = dynamicCast(entry$iterator.next_0(), 22);
    otherKey = entry.getKey();
    otherValue = entry.getValue_0();
    if (!(otherKey == null?this.nullSlotLive:otherKey != null && otherKey.castableTypeMap$ && !!otherKey.castableTypeMap$[1]?':' + dynamicCast(otherKey, 1) in this.stringMap:$hasHashValue(this, otherKey, otherKey.$H || (otherKey.$H = ++sNextHashId)))) {
      return false;
    }
    if ((otherValue == null?null:otherValue) !== maskUndefined(otherKey == null?this.nullSlot:otherKey != null && otherKey.castableTypeMap$ && !!otherKey.castableTypeMap$[1]?this.stringMap[':' + dynamicCast(otherKey, 1)]:$getHashValue(this, otherKey, otherKey.$H || (otherKey.$H = ++sNextHashId)))) {
      return false;
    }
  }
  return true;
}
;
_.equals = function equals_26(value1, value2){
  return (value1 == null?null:value1) === (value2 == null?null:value2);
}
;
_.getClass$ = function getClass_309(){
  return Ljava_util_IdentityHashMap_2_classLit;
}
;
_.getHashCode = function getHashCode_2(key){
  return key.$H || (key.$H = ++sNextHashId);
}
;
_.hashCode$ = function hashCode_26(){
  var entry, entry$iterator, hashCode;
  hashCode = 0;
  for (entry$iterator = new AbstractHashMap$EntrySetIterator_0((new AbstractHashMap$EntrySet_0(this)).this$0); $hasNext_2(entry$iterator.iter);) {
    entry = entry$iterator.last = dynamicCast($next_4(entry$iterator.iter), 22);
    hashCode += identityHashCode(entry.getKey());
    hashCode += identityHashCode(entry.getValue_0());
  }
  return hashCode;
}
;
_.castableTypeMap$ = {18:1, 66:1};
function $addBefore(this$static, o, target){
  new LinkedList$Node_2(o, target);
  ++this$static.size;
}

function $listIterator_2(this$static, index){
  var i, node;
  (index < 0 || index > this$static.size) && indexOutOfBounds(index, this$static.size);
  if (index >= this$static.size >> 1) {
    node = this$static.header;
    for (i = this$static.size; i > index; --i) {
      node = node.prev;
    }
  }
   else {
    node = this$static.header.next;
    for (i = 0; i < index; ++i) {
      node = node.next;
    }
  }
  return new LinkedList$ListIteratorImpl_0(this$static, index, node);
}

function LinkedList_0(){
  this.header = new LinkedList$Node_0;
  this.size = 0;
}

function LinkedList(){
}

_ = LinkedList_0.prototype = LinkedList.prototype = new AbstractSequentialList;
_.add = function add_10(o){
  new LinkedList$Node_2(o, this.header);
  ++this.size;
  return true;
}
;
_.getClass$ = function getClass_310(){
  return Ljava_util_LinkedList_2_classLit;
}
;
_.listIterator_0 = function listIterator_3(index){
  return $listIterator_2(this, index);
}
;
_.size_0 = function size_11(){
  return this.size;
}
;
_.castableTypeMap$ = {3:1, 66:1};
_.header = null;
_.size = 0;
function $next_6(this$static){
  if (this$static.currentNode == this$static.this$0.header) {
    throw new NoSuchElementException_0;
  }
  this$static.lastNode = this$static.currentNode;
  this$static.currentNode = this$static.currentNode.next;
  ++this$static.currentIndex;
  return this$static.lastNode.value;
}

function $remove_11(this$static){
  $verifyCurrentElement(this$static);
  this$static.currentNode == this$static.lastNode?(this$static.currentNode = this$static.lastNode.next):--this$static.currentIndex;
  $remove_12(this$static.lastNode);
  this$static.lastNode = null;
  --this$static.this$0.size;
}

function $verifyCurrentElement(this$static){
  if (!this$static.lastNode) {
    throw new IllegalStateException_0;
  }
}

function LinkedList$ListIteratorImpl_0(this$0, index, startNode){
  this.this$0 = this$0;
  this.currentNode = startNode;
  this.currentIndex = index;
}

function LinkedList$ListIteratorImpl(){
}

_ = LinkedList$ListIteratorImpl_0.prototype = LinkedList$ListIteratorImpl.prototype = new Object_0;
_.getClass$ = function getClass_311(){
  return Ljava_util_LinkedList$ListIteratorImpl_2_classLit;
}
;
_.hasNext = function hasNext_7(){
  return this.currentNode != this.this$0.header;
}
;
_.hasPrevious = function hasPrevious_1(){
  return this.currentNode.prev != this.this$0.header;
}
;
_.next_0 = function next_8(){
  return $next_6(this);
}
;
_.previous = function previous_4(){
  if (this.currentNode.prev == this.this$0.header) {
    throw new NoSuchElementException_0;
  }
  this.lastNode = this.currentNode = this.currentNode.prev;
  --this.currentIndex;
  return this.lastNode.value;
}
;
_.remove = function remove_25(){
  $remove_11(this);
}
;
_.castableTypeMap$ = {};
_.currentIndex = 0;
_.currentNode = null;
_.lastNode = null;
_.this$0 = null;
function $remove_12(this$static){
  this$static.next.prev = this$static.prev;
  this$static.prev.next = this$static.next;
  this$static.next = this$static.prev = this$static;
}

function LinkedList$Node_0(){
  this.next = this.prev = this;
}

function LinkedList$Node_2(value, nextNode){
  this.value = value;
  this.next = nextNode;
  this.prev = nextNode.prev;
  nextNode.prev.next = this;
  nextNode.prev = this;
}

function LinkedList$Node(){
}

_ = LinkedList$Node_2.prototype = LinkedList$Node_0.prototype = LinkedList$Node.prototype = new Object_0;
_.getClass$ = function getClass_312(){
  return Ljava_util_LinkedList$Node_2_classLit;
}
;
_.castableTypeMap$ = {};
_.next = null;
_.prev = null;
_.value = null;
function MapEntryImpl_0(key, value){
  this.key = key;
  this.value = value;
}

function MapEntryImpl(){
}

_ = MapEntryImpl_0.prototype = MapEntryImpl.prototype = new AbstractMapEntry;
_.getClass$ = function getClass_313(){
  return Ljava_util_MapEntryImpl_2_classLit;
}
;
_.getKey = function getKey_2(){
  return this.key;
}
;
_.getValue_0 = function getValue_7(){
  return this.value;
}
;
_.setValue = function setValue_1(value){
  var old;
  old = this.value;
  this.value = value;
  return old;
}
;
_.castableTypeMap$ = {22:1};
_.key = null;
_.value = null;
function NoSuchElementException_0(){
  $fillInStackTrace();
}

function NoSuchElementException(){
}

_ = NoSuchElementException_0.prototype = NoSuchElementException.prototype = new RuntimeException;
_.getClass$ = function getClass_314(){
  return Ljava_util_NoSuchElementException_2_classLit;
}
;
_.castableTypeMap$ = {7:1, 17:1, 66:1, 73:1};
function Vector_0(){
  this.arrayList = new ArrayList_0;
}

function Vector(){
}

_ = Vector_0.prototype = Vector.prototype = new AbstractList;
_.add = function add_11(o){
  return $add_4(this.arrayList, o);
}
;
_.add_0 = function add_12(index, o){
  $add_5(this.arrayList, index, o);
}
;
_.addAll = function addAll_2(c){
  return $addAll(this.arrayList, c);
}
;
_.contains = function contains_7(elem){
  return $indexOf_3(this.arrayList, elem, 0) != -1;
}
;
_.get_0 = function get_10(index){
  return $get_4(this.arrayList, index);
}
;
_.getClass$ = function getClass_315(){
  return Ljava_util_Vector_2_classLit;
}
;
_.isEmpty = function isEmpty_4(){
  return this.arrayList.size == 0;
}
;
_.iterator_0 = function iterator_9(){
  return new AbstractList$IteratorImpl_0(this.arrayList);
}
;
_.remove_3 = function remove_26(index){
  return $remove_8(this.arrayList, index);
}
;
_.size_0 = function size_12(){
  return this.arrayList.size;
}
;
_.toArray = function toArray_7(){
  return $toArray(this.arrayList);
}
;
_.toArray_0 = function toArray_8(a_0){
  return $toArray_0(this.arrayList, a_0);
}
;
_.toString$ = function toString_34(){
  return $toString_8(this.arrayList);
}
;
_.castableTypeMap$ = {3:1, 66:1};
_.arrayList = null;
function Stack_0(){
  this.arrayList = new ArrayList_0;
}

function Stack(){
}

_ = Stack_0.prototype = Stack.prototype = new Vector;
_.getClass$ = function getClass_316(){
  return Ljava_util_Stack_2_classLit;
}
;
_.castableTypeMap$ = {3:1, 66:1};
function $getEntry(this$static, key){
  var c, tree;
  tree = this$static.root;
  while (tree) {
    c = $compare_0(key, tree.key);
    if (c == 0) {
      return tree;
    }
    c < 0?(tree = tree.child[0]):(tree = tree.child[1]);
  }
  return null;
}

function $insert_0(this$static, tree, newNode, state){
  var c, childNum;
  if (!tree) {
    return newNode;
  }
   else {
    c = $compare_0(tree.key, newNode.key);
    if (c == 0) {
      state.value = tree.value;
      state.found = true;
      tree.value = newNode.value;
      return tree;
    }
    childNum = c > 0?0:1;
    tree.child[childNum] = $insert_0(this$static, tree.child[childNum], newNode, state);
    if ($isRed(tree.child[childNum])) {
      if ($isRed(tree.child[1 - childNum])) {
        tree.isRed = true;
        tree.child[0].isRed = false;
        tree.child[1].isRed = false;
      }
       else {
        $isRed(tree.child[childNum].child[childNum])?(tree = $rotateSingle(tree, 1 - childNum)):$isRed(tree.child[childNum].child[1 - childNum]) && (tree = (tree.child[1 - (1 - childNum)] = $rotateSingle(tree.child[1 - (1 - childNum)], 1 - (1 - childNum)) , $rotateSingle(tree, 1 - childNum)));
      }
    }
  }
  return tree;
}

function $isRed(node){
  return !!node && node.isRed;
}

function $put_1(this$static, key, value){
  var node, state;
  node = new TreeMap$Node_0(key, value);
  state = new TreeMap$State_0;
  this$static.root = $insert_0(this$static, this$static.root, node, state);
  state.found || ++this$static.size;
  this$static.root.isRed = false;
  return state.value;
}

function $remove_13(this$static, keyObj){
  var state;
  state = new TreeMap$State_0;
  $removeWithState(this$static, keyObj, state);
  return state.value;
}

function $removeWithState(this$static, key, state){
  var c, dir, dir2, found, grandparent, head, last, newNode, node, parent_0, sibling;
  if (!this$static.root) {
    return false;
  }
  found = null;
  parent_0 = null;
  head = new TreeMap$Node_0(null, null);
  dir = 1;
  head.child[1] = this$static.root;
  node = head;
  while (node.child[dir]) {
    last = dir;
    grandparent = parent_0;
    parent_0 = node;
    node = node.child[dir];
    c = $compare_0(node.key, key);
    dir = c < 0?1:0;
    c == 0 && (!state.matchValue || equals__devirtual$(node.value, state.value)) && (found = node);
    if (!(!!node && node.isRed) && !$isRed(node.child[dir])) {
      if ($isRed(node.child[1 - dir])) {
        parent_0 = parent_0.child[last] = $rotateSingle(node, dir);
      }
       else if (!$isRed(node.child[1 - dir])) {
        sibling = parent_0.child[1 - last];
        if (sibling) {
          if (!$isRed(sibling.child[1 - last]) && !$isRed(sibling.child[last])) {
            parent_0.isRed = false;
            sibling.isRed = true;
            node.isRed = true;
          }
           else {
            dir2 = grandparent.child[1] == parent_0?1:0;
            $isRed(sibling.child[last])?(grandparent.child[dir2] = (parent_0.child[1 - last] = $rotateSingle(parent_0.child[1 - last], 1 - last) , $rotateSingle(parent_0, last))):$isRed(sibling.child[1 - last]) && (grandparent.child[dir2] = $rotateSingle(parent_0, last));
            node.isRed = grandparent.child[dir2].isRed = true;
            grandparent.child[dir2].child[0].isRed = false;
            grandparent.child[dir2].child[1].isRed = false;
          }
        }
      }
    }
  }
  if (found) {
    state.found = true;
    state.value = found.value;
    if (node != found) {
      newNode = new TreeMap$Node_0(node.key, node.value);
      $replaceNode(head, found, newNode);
      parent_0 == found && (parent_0 = newNode);
    }
    parent_0.child[parent_0.child[1] == node?1:0] = node.child[!node.child[0]?1:0];
    --this$static.size;
  }
  this$static.root = head.child[1];
  !!this$static.root && (this$static.root.isRed = false);
  return state.found;
}

function $replaceNode(head, node, newNode){
  var direction, parent_0;
  parent_0 = head;
  direction = head.key == null || $compare_0(node.key, head.key) > 0?1:0;
  while (parent_0.child[direction] != node) {
    parent_0 = parent_0.child[direction];
    direction = $compare_0(node.key, parent_0.key) > 0?1:0;
  }
  parent_0.child[direction] = newNode;
  newNode.isRed = node.isRed;
  newNode.child[0] = node.child[0];
  newNode.child[1] = node.child[1];
  node.child[0] = null;
  node.child[1] = null;
}

function $rotateSingle(tree, rotateDirection){
  var save;
  save = tree.child[1 - rotateDirection];
  tree.child[1 - rotateDirection] = save.child[rotateDirection];
  save.child[rotateDirection] = tree;
  tree.isRed = true;
  save.isRed = false;
  return save;
}

function TreeMap_0(){
  this.root = null;
}

function TreeMap(){
}

_ = TreeMap_0.prototype = TreeMap.prototype = new AbstractMap;
_.containsKey = function containsKey_1(key){
  return !!$getEntry(this, key);
}
;
_.entrySet = function entrySet_1(){
  return new TreeMap$EntrySet_0(this);
}
;
_.get = function get_11(k){
  var entry;
  entry = $getEntry(this, k);
  return entry?entry.value:null;
}
;
_.getClass$ = function getClass_317(){
  return Ljava_util_TreeMap_2_classLit;
}
;
_.put = function put_1(key, value){
  return $put_1(this, key, value);
}
;
_.remove_2 = function remove_27(keyObj){
  var state;
  return state = new TreeMap$State_0 , $removeWithState(this, keyObj, state) , state.value;
}
;
_.size_0 = function size_13(){
  return this.size;
}
;
_.castableTypeMap$ = {18:1, 66:1};
_.root = null;
_.size = 0;
function $compare(a_0, b){
  if (a_0 == null || b == null) {
    throw new NullPointerException_0;
  }
  return a_0.compareTo$(b);
}

function $compare_0(a_0, b){
  return $compare(dynamicCast(a_0, 68), dynamicCast(b, 68));
}

function $inOrderAdd(this$static, list, type, current, fromKey, toKey){
  if (!current) {
    return;
  }
  !!current.child[0] && $inOrderAdd(this$static, list, type, current.child[0], fromKey, toKey);
  $inRange(type, current.key, fromKey, toKey) && list.add(current);
  !!current.child[1] && $inOrderAdd(this$static, list, type, current.child[1], fromKey, toKey);
}

function $inRange(type, key, fromKey, toKey){
  if (type.toKeyValid()) {
    if ($compare(dynamicCast(key, 68), dynamicCast(toKey, 68)) >= 0) {
      return false;
    }
  }
  if (type.fromKeyValid()) {
    if ($compare(dynamicCast(key, 68), dynamicCast(fromKey, 68)) < 0) {
      return false;
    }
  }
  return true;
}

function TreeMap$EntryIterator_0(this$0){
  TreeMap$EntryIterator_1.call(this, this$0, ($clinit_563() , All));
}

function TreeMap$EntryIterator_1(this$0, type){
  var list;
  this.this$0 = this$0;
  list = new ArrayList_0;
  $inOrderAdd(this, list, type, this$0.root, null, null);
  this.iter = new AbstractList$IteratorImpl_0(list);
}

function TreeMap$EntryIterator(){
}

_ = TreeMap$EntryIterator_0.prototype = TreeMap$EntryIterator.prototype = new Object_0;
_.getClass$ = function getClass_318(){
  return Ljava_util_TreeMap$EntryIterator_2_classLit;
}
;
_.hasNext = function hasNext_8(){
  return $hasNext_2(this.iter);
}
;
_.next_0 = function next_9(){
  return this.last = dynamicCast($next_4(this.iter), 22);
}
;
_.remove = function remove_28(){
  $remove_7(this.iter);
  $remove_13(this.this$0, this.last.getKey());
}
;
_.castableTypeMap$ = {};
_.iter = null;
_.last = null;
_.this$0 = null;
function TreeMap$EntrySet_0(this$0){
  this.this$0 = this$0;
}

function TreeMap$EntrySet(){
}

_ = TreeMap$EntrySet_0.prototype = TreeMap$EntrySet.prototype = new AbstractSet;
_.contains = function contains_8(o){
  var entry, lookupEntry;
  if (!(o != null && o.castableTypeMap$ && !!o.castableTypeMap$[22])) {
    return false;
  }
  entry = dynamicCast(o, 22);
  lookupEntry = $getEntry(this.this$0, entry.getKey());
  return !!lookupEntry && equalsWithNullCheck(lookupEntry.value, entry.getValue_0());
}
;
_.getClass$ = function getClass_319(){
  return Ljava_util_TreeMap$EntrySet_2_classLit;
}
;
_.iterator_0 = function iterator_10(){
  return new TreeMap$EntryIterator_0(this.this$0);
}
;
_.remove_1 = function remove_29(o){
  var entry, state;
  if (!(o != null && o.castableTypeMap$ && !!o.castableTypeMap$[22])) {
    return false;
  }
  entry = dynamicCast(o, 22);
  state = new TreeMap$State_0;
  state.matchValue = true;
  state.value = entry.getValue_0();
  return $removeWithState(this.this$0, entry.getKey(), state);
}
;
_.size_0 = function size_14(){
  return this.this$0.size;
}
;
_.castableTypeMap$ = {74:1};
_.this$0 = null;
function TreeMap$Node_0(key, value){
  this.key = key;
  this.value = value;
  this.child = initDim(_3Ljava_util_TreeMap$Node_2_classLit, {36:1, 66:1}, 71, 2, 0);
  this.isRed = true;
}

function TreeMap$Node(){
}

_ = TreeMap$Node_0.prototype = TreeMap$Node.prototype = new Object_0;
--></script>
<script><!--
_.equals$ = function equals_27(o){
  var other;
  if (!(o != null && o.castableTypeMap$ && !!o.castableTypeMap$[71])) {
    return false;
  }
  other = dynamicCast(o, 71);
  return equalsWithNullCheck(this.key, other.key) && equalsWithNullCheck(this.value, other.value);
}
;
_.getClass$ = function getClass_320(){
  return Ljava_util_TreeMap$Node_2_classLit;
}
;
_.getKey = function getKey_3(){
  return this.key;
}
;
_.getValue_0 = function getValue_8(){
  return this.value;
}
;
_.hashCode$ = function hashCode_27(){
  var keyHash, valueHash;
  keyHash = this.key != null?hashCode__devirtual$(this.key):0;
  valueHash = this.value != null?hashCode__devirtual$(this.value):0;
  return keyHash ^ valueHash;
}
;
_.setValue = function setValue_2(value){
  var old;
  old = this.value;
  this.value = value;
  return old;
}
;
_.toString$ = function toString_35(){
  return this.key + '=' + this.value;
}
;
_.castableTypeMap$ = {22:1, 71:1};
_.child = null;
_.isRed = false;
_.key = null;
_.value = null;
function TreeMap$State_0(){
}

function TreeMap$State(){
}

_ = TreeMap$State_0.prototype = TreeMap$State.prototype = new Object_0;
_.getClass$ = function getClass_321(){
  return Ljava_util_TreeMap$State_2_classLit;
}
;
_.toString$ = function toString_36(){
  return 'State: mv=' + this.matchValue + ' value=' + this.value + ' done=' + this.done + ' found=' + this.found;
}
;
_.castableTypeMap$ = {};
_.done = false;
_.found = false;
_.matchValue = false;
_.value = null;
function $clinit_563(){
  $clinit_563 = nullMethod;
  All = new TreeMap$SubMapType_0('All', 0);
  Head = new TreeMap$SubMapType$1_0;
  Range_2 = new TreeMap$SubMapType$2_0;
  Tail = new TreeMap$SubMapType$3_0;
  $VALUES_7 = initValues(_3Ljava_util_TreeMap$SubMapType_2_classLit, {36:1, 66:1}, 72, [All, Head, Range_2, Tail]);
}

function TreeMap$SubMapType_0(enum$name, enum$ordinal){
  this.name_0 = enum$name;
  this.ordinal = enum$ordinal;
}

function values_8(){
  $clinit_563();
  return $VALUES_7;
}

function TreeMap$SubMapType(){
}

_ = TreeMap$SubMapType_0.prototype = TreeMap$SubMapType.prototype = new Enum;
_.fromKeyValid = function fromKeyValid(){
  return false;
}
;
_.getClass$ = function getClass_322(){
  return Ljava_util_TreeMap$SubMapType_2_classLit;
}
;
_.toKeyValid = function toKeyValid(){
  return false;
}
;
_.castableTypeMap$ = {37:1, 66:1, 68:1, 72:1};
var $VALUES_7, All, Head, Range_2, Tail;
function TreeMap$SubMapType$1_0(){
  this.name_0 = 'Head';
  this.ordinal = 1;
}

function TreeMap$SubMapType$1(){
}

_ = TreeMap$SubMapType$1_0.prototype = TreeMap$SubMapType$1.prototype = new TreeMap$SubMapType;
_.getClass$ = function getClass_323(){
  return Ljava_util_TreeMap$SubMapType$1_2_classLit;
}
;
_.toKeyValid = function toKeyValid_0(){
  return true;
}
;
_.castableTypeMap$ = {37:1, 66:1, 68:1, 72:1};
function TreeMap$SubMapType$2_0(){
  this.name_0 = 'Range';
  this.ordinal = 2;
}

function TreeMap$SubMapType$2(){
}

_ = TreeMap$SubMapType$2_0.prototype = TreeMap$SubMapType$2.prototype = new TreeMap$SubMapType;
_.fromKeyValid = function fromKeyValid_0(){
  return true;
}
;
_.getClass$ = function getClass_324(){
  return Ljava_util_TreeMap$SubMapType$2_2_classLit;
}
;
_.toKeyValid = function toKeyValid_1(){
  return true;
}
;
_.castableTypeMap$ = {37:1, 66:1, 68:1, 72:1};
function TreeMap$SubMapType$3_0(){
  this.name_0 = 'Tail';
  this.ordinal = 3;
}

function TreeMap$SubMapType$3(){
}

_ = TreeMap$SubMapType$3_0.prototype = TreeMap$SubMapType$3.prototype = new TreeMap$SubMapType;
_.fromKeyValid = function fromKeyValid_1(){
  return true;
}
;
_.getClass$ = function getClass_325(){
  return Ljava_util_TreeMap$SubMapType$3_2_classLit;
}
;
_.castableTypeMap$ = {37:1, 66:1, 68:1, 72:1};
function TreeSet_0(){
  this.map = new TreeMap_0;
}

function TreeSet(){
}

_ = TreeSet_0.prototype = TreeSet.prototype = new AbstractSet;
_.add = function add_13(o){
  return $put_1(this.map, o, ($clinit_472() , FALSE)) == null;
}
;
_.contains = function contains_9(o){
  return !!$getEntry(this.map, o);
}
;
_.getClass$ = function getClass_326(){
  return Ljava_util_TreeSet_2_classLit;
}
;
_.iterator_0 = function iterator_11(){
  var outerIter;
  return outerIter = $keySet(this.map).val$entrySet.iterator_0() , new AbstractMap$1$1_0(outerIter);
}
;
_.remove_1 = function remove_30(o){
  return $remove_13(this.map, o) != null;
}
;
_.size_0 = function size_15(){
  return this.map.size;
}
;
_.castableTypeMap$ = {66:1, 74:1};
_.map = null;
function equalsWithNullCheck(a_0, b){
  return (a_0 == null?null:a_0) === (b == null?null:b) || a_0 != null && equals__devirtual$(a_0, b);
}

var $entry = entry_0;
function gwtOnLoad(errFn, modName, modBase, softPermutationId){
  $moduleName = modName;
  $moduleBase = modBase;
  if (errFn)
    try {
      $entry(init)();
    }
     catch (e) {
      errFn(modName);
    }
   else {
    $entry(init)();
  }
}

--></script>
<script><!--
var Ljava_lang_Object_2_classLit = createForClass('java.lang.', 'Object'), Lcom_bkd_dreams_client_AchievingDreams_2_classLit = createForClass('com.bkd.dreams.client.', 'AchievingDreams'), Lcom_bkd_dreams_client_AchievingDreams$1_2_classLit = createForClass('com.bkd.dreams.client.', 'AchievingDreams$1'), Lcom_google_gwt_user_cellview_client_Column_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'Column'), Lcom_google_gwt_user_cellview_client_TextColumn_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'TextColumn'), Lcom_bkd_dreams_client_AchievingDreams$2_2_classLit = createForClass('com.bkd.dreams.client.', 'AchievingDreams$2'), Lcom_bkd_dreams_client_AchievingDreams$3_2_classLit = createForClass('com.bkd.dreams.client.', 'AchievingDreams$3'), Lcom_bkd_dreams_client_AchievingDreams$4_2_classLit = createForClass('com.bkd.dreams.client.', 'AchievingDreams$4'), Lcom_bkd_dreams_client_AchievingDreams$5_2_classLit = createForClass('com.bkd.dreams.client.', 'AchievingDreams$5'), Lcom_bkd_dreams_client_AchievingDreams$6_2_classLit = createForClass('com.bkd.dreams.client.', 'AchievingDreams$6'), Lcom_bkd_dreams_client_AchievingDreams$7_2_classLit = createForClass('com.bkd.dreams.client.', 'AchievingDreams$7'), Lcom_bkd_dreams_client_AchievingDreams$8_2_classLit = createForClass('com.bkd.dreams.client.', 'AchievingDreams$8'), Lcom_bkd_dreams_client_AchievingDreams$9_2_classLit = createForClass('com.bkd.dreams.client.', 'AchievingDreams$9'), Lcom_bkd_dreams_client_AchievingDreams$10_2_classLit = createForClass('com.bkd.dreams.client.', 'AchievingDreams$10'), Lcom_bkd_dreams_client_AchievingDreams$11_2_classLit = createForClass('com.bkd.dreams.client.', 'AchievingDreams$11'), Lcom_bkd_dreams_client_LoginInfo_2_classLit = createForClass('com.bkd.dreams.client.', 'LoginInfo'), Lcom_google_gwt_user_client_rpc_impl_RemoteServiceProxy_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'RemoteServiceProxy'), Lcom_bkd_dreams_client_LoginService_1Proxy_2_classLit = createForClass('com.bkd.dreams.client.', 'LoginService_Proxy'), Lcom_google_gwt_user_client_rpc_impl_SerializerBase_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'SerializerBase'), Lcom_bkd_dreams_client_LoginService_1TypeSerializer_2_classLit = createForClass('com.bkd.dreams.client.', 'LoginService_TypeSerializer'), Lcom_bkd_dreams_client_VolunteerEvent_2_classLit = createForClass('com.bkd.dreams.client.', 'VolunteerEvent'), Lcom_bkd_dreams_client_VolunteerEventService_1Proxy_2_classLit = createForClass('com.bkd.dreams.client.', 'VolunteerEventService_Proxy'), Lcom_bkd_dreams_client_VolunteerEventService_1TypeSerializer_2_classLit = createForClass('com.bkd.dreams.client.', 'VolunteerEventService_TypeSerializer'), _3Lcom_bkd_dreams_client_VolunteerEvent_2_classLit = createForArray('[Lcom.bkd.dreams.client.', 'VolunteerEvent;'), Lcom_google_gwt_animation_client_Animation_2_classLit = createForClass('com.google.gwt.animation.client.', 'Animation'), Lcom_google_gwt_user_client_Timer_2_classLit = createForClass('com.google.gwt.user.client.', 'Timer'), Ljava_lang_Enum_2_classLit = createForClass('java.lang.', 'Enum'), Lcom_google_gwt_cell_client_AbstractCell_2_classLit = createForClass('com.google.gwt.cell.client.', 'AbstractCell'), Lcom_google_gwt_cell_client_AbstractSafeHtmlCell_2_classLit = createForClass('com.google.gwt.cell.client.', 'AbstractSafeHtmlCell'), Ljava_lang_String_2_classLit = createForClass('java.lang.', 'String'), _3Ljava_lang_String_2_classLit = createForArray('[Ljava.lang.', 'String;'), Lcom_google_gwt_cell_client_ActionCell_2_classLit = createForClass('com.google.gwt.cell.client.', 'ActionCell'), Lcom_google_gwt_cell_client_Cell$Context_2_classLit = createForClass('com.google.gwt.cell.client.', 'Cell$Context'), Lcom_google_gwt_cell_client_DateCell_2_classLit = createForClass('com.google.gwt.cell.client.', 'DateCell'), Lcom_google_gwt_cell_client_TextCell_2_classLit = createForClass('com.google.gwt.cell.client.', 'TextCell'), _3I_classLit = createForArray('', '[I'), Ljava_lang_Throwable_2_classLit = createForClass('java.lang.', 'Throwable'), Ljava_lang_Exception_2_classLit = createForClass('java.lang.', 'Exception'), Ljava_lang_RuntimeException_2_classLit = createForClass('java.lang.', 'RuntimeException'), Lcom_google_gwt_core_client_Scheduler_2_classLit = createForClass('com.google.gwt.core.client.', 'Scheduler'), Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl'), Ljava_lang_StackTraceElement_2_classLit = createForClass('java.lang.', 'StackTraceElement'), _3Ljava_lang_StackTraceElement_2_classLit = createForArray('[Ljava.lang.', 'StackTraceElement;'), Lcom_google_gwt_core_client_impl_StringBufferImpl_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StringBufferImpl'), Lcom_google_gwt_core_client_impl_StringBufferImplAppend_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StringBufferImplAppend'), Lcom_google_gwt_core_client_JavaScriptException_2_classLit = createForClass('com.google.gwt.core.client.', 'JavaScriptException'), Lcom_google_gwt_core_client_JavaScriptObject_2_classLit = createForClass('com.google.gwt.core.client.', 'JavaScriptObject$'), Lcom_google_gwt_dom_client_Style$Unit_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit', Ljava_lang_Enum_2_classLit, values_2), _3Lcom_google_gwt_dom_client_Style$Unit_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Unit;'), Lcom_google_gwt_dom_client_Style$Unit$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$1', Lcom_google_gwt_dom_client_Style$Unit_2_classLit, null), Lcom_google_gwt_dom_client_Style$Unit$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$2', Lcom_google_gwt_dom_client_Style$Unit_2_classLit, null), Lcom_google_gwt_dom_client_Style$Unit$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$3', Lcom_google_gwt_dom_client_Style$Unit_2_classLit, null), Lcom_google_gwt_dom_client_Style$Unit$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$4', Lcom_google_gwt_dom_client_Style$Unit_2_classLit, null), Lcom_google_gwt_dom_client_Style$Unit$5_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$5', Lcom_google_gwt_dom_client_Style$Unit_2_classLit, null), Lcom_google_gwt_dom_client_Style$Unit$6_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$6', Lcom_google_gwt_dom_client_Style$Unit_2_classLit, null), Lcom_google_gwt_dom_client_Style$Unit$7_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$7', Lcom_google_gwt_dom_client_Style$Unit_2_classLit, null), Lcom_google_gwt_dom_client_Style$Unit$8_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$8', Lcom_google_gwt_dom_client_Style$Unit_2_classLit, null), Lcom_google_gwt_dom_client_Style$Unit$9_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$9', Lcom_google_gwt_dom_client_Style$Unit_2_classLit, null), Lcom_google_gwt_dom_client_Style$Display_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display', Ljava_lang_Enum_2_classLit, values_0), _3Lcom_google_gwt_dom_client_Style$Display_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Display;'), Lcom_google_gwt_dom_client_Style$Display$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$1', Lcom_google_gwt_dom_client_Style$Display_2_classLit, null), Lcom_google_gwt_dom_client_Style$Display$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$2', Lcom_google_gwt_dom_client_Style$Display_2_classLit, null), Lcom_google_gwt_dom_client_Style$Display$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$3', Lcom_google_gwt_dom_client_Style$Display_2_classLit, null), Lcom_google_gwt_dom_client_Style$Display$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$4', Lcom_google_gwt_dom_client_Style$Display_2_classLit, null), Lcom_google_gwt_dom_client_Style$Overflow_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow', Ljava_lang_Enum_2_classLit, values_1), _3Lcom_google_gwt_dom_client_Style$Overflow_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Overflow;'), Lcom_google_gwt_dom_client_Style$Overflow$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$1', Lcom_google_gwt_dom_client_Style$Overflow_2_classLit, null), Lcom_google_gwt_dom_client_Style$Overflow$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$2', Lcom_google_gwt_dom_client_Style$Overflow_2_classLit, null), Lcom_google_gwt_dom_client_Style$Overflow$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$3', Lcom_google_gwt_dom_client_Style$Overflow_2_classLit, null), Lcom_google_gwt_dom_client_Style$Overflow$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$4', Lcom_google_gwt_dom_client_Style$Overflow_2_classLit, null), Lcom_google_gwt_dom_client_StyleInjector$StyleInjectorImpl_2_classLit = createForClass('com.google.gwt.dom.client.', 'StyleInjector$StyleInjectorImpl'), Lcom_google_gwt_dom_client_StyleInjector$1_2_classLit = createForClass('com.google.gwt.dom.client.', 'StyleInjector$1'), Lcom_google_gwt_event_shared_GwtEvent_2_classLit = createForClass('com.google.gwt.event.shared.', 'GwtEvent'), Lcom_google_gwt_event_dom_client_DomEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'DomEvent'), Lcom_google_gwt_event_dom_client_BlurEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'BlurEvent'), Lcom_google_gwt_event_dom_client_HumanInputEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'HumanInputEvent'), Lcom_google_gwt_event_dom_client_MouseEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'MouseEvent'), Lcom_google_gwt_event_dom_client_ClickEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'ClickEvent'), Lcom_google_gwt_event_shared_GwtEvent$Type_2_classLit = createForClass('com.google.gwt.event.shared.', 'GwtEvent$Type'), Lcom_google_gwt_event_dom_client_DomEvent$Type_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'DomEvent$Type'), Lcom_google_gwt_event_dom_client_FocusEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'FocusEvent'), Lcom_google_gwt_event_dom_client_KeyEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyEvent'), Lcom_google_gwt_event_dom_client_KeyCodeEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyCodeEvent'), Lcom_google_gwt_event_dom_client_KeyDownEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyDownEvent'), Lcom_google_gwt_event_dom_client_PrivateMap_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'PrivateMap'), Lcom_google_gwt_event_logical_shared_CloseEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'CloseEvent'), Lcom_google_gwt_event_logical_shared_HighlightEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'HighlightEvent'), Lcom_google_gwt_event_logical_shared_ResizeEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'ResizeEvent'), Lcom_google_gwt_event_logical_shared_ValueChangeEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'ValueChangeEvent'), Lcom_google_gwt_event_shared_EventBus_2_classLit = createForClass('com.google.gwt.event.shared.', 'EventBus'), Lcom_google_gwt_event_shared_HandlerManager_2_classLit = createForClass('com.google.gwt.event.shared.', 'HandlerManager'), Lcom_google_gwt_event_shared_SimpleEventBus_2_classLit = createForClass('com.google.gwt.event.shared.', 'SimpleEventBus'), Lcom_google_gwt_event_shared_SimpleEventBus$1_2_classLit = createForClass('com.google.gwt.event.shared.', 'SimpleEventBus$1'), Lcom_google_gwt_event_shared_SimpleEventBus$2_2_classLit = createForClass('com.google.gwt.event.shared.', 'SimpleEventBus$2'), Lcom_google_gwt_event_shared_SimpleEventBus$3_2_classLit = createForClass('com.google.gwt.event.shared.', 'SimpleEventBus$3'), _3Ljava_lang_Throwable_2_classLit = createForArray('[Ljava.lang.', 'Throwable;'), Lcom_google_gwt_event_shared_UmbrellaException_2_classLit = createForClass('com.google.gwt.event.shared.', 'UmbrellaException'), Lcom_google_gwt_http_client_Request_2_classLit = createForClass('com.google.gwt.http.client.', 'Request'), Lcom_google_gwt_http_client_Response_2_classLit = createForClass('com.google.gwt.http.client.', 'Response'), Lcom_google_gwt_http_client_Request$1_2_classLit = createForClass('com.google.gwt.http.client.', 'Request$1'), Lcom_google_gwt_http_client_Request$3_2_classLit = createForClass('com.google.gwt.http.client.', 'Request$3'), Lcom_google_gwt_http_client_RequestBuilder_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestBuilder'), Lcom_google_gwt_http_client_RequestBuilder$Method_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestBuilder$Method'), Lcom_google_gwt_http_client_RequestBuilder$1_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestBuilder$1'), Lcom_google_gwt_http_client_RequestException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestException'), Lcom_google_gwt_http_client_RequestPermissionException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestPermissionException'), Lcom_google_gwt_http_client_RequestTimeoutException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestTimeoutException'), Lcom_google_gwt_i18n_client_DefaultDateTimeFormatInfo_2_classLit = createForClass('com.google.gwt.i18n.client.', 'DefaultDateTimeFormatInfo'), Lcom_google_gwt_i18n_client_impl_cldr_DateTimeFormatInfoImpl_2_classLit = createForClass('com.google.gwt.i18n.client.impl.cldr.', 'DateTimeFormatInfoImpl'), Lcom_google_gwt_i18n_client_impl_cldr_DateTimeFormatInfoImpl_1en_2_classLit = createForClass('com.google.gwt.i18n.client.impl.cldr.', 'DateTimeFormatInfoImpl_en'), Ljava_util_Date_2_classLit = createForClass('java.util.', 'Date'), Lcom_google_gwt_i18n_client_impl_DateRecord_2_classLit = createForClass('com.google.gwt.i18n.client.impl.', 'DateRecord'), Lcom_google_gwt_i18n_client_AutoDirectionHandler_2_classLit = createForClass('com.google.gwt.i18n.client.', 'AutoDirectionHandler'), Lcom_google_gwt_i18n_client_DateTimeFormat_2_classLit = createForClass('com.google.gwt.i18n.client.', 'DateTimeFormat'), Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit = createForEnum('com.google.gwt.i18n.client.', 'DateTimeFormat$PredefinedFormat', Ljava_lang_Enum_2_classLit, values_3), _3Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit = createForArray('[Lcom.google.gwt.i18n.client.', 'DateTimeFormat$PredefinedFormat;'), Lcom_google_gwt_i18n_client_DateTimeFormat$PatternPart_2_classLit = createForClass('com.google.gwt.i18n.client.', 'DateTimeFormat$PatternPart'), Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit = createForEnum('com.google.gwt.i18n.client.', 'HasDirection$Direction', Ljava_lang_Enum_2_classLit, values_4), _3Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit = createForArray('[Lcom.google.gwt.i18n.client.', 'HasDirection$Direction;'), Lcom_google_gwt_i18n_client_LocaleInfo_2_classLit = createForClass('com.google.gwt.i18n.client.', 'LocaleInfo'), _3C_classLit = createForArray('', '[C'), Lcom_google_gwt_i18n_client_TimeZone_2_classLit = createForClass('com.google.gwt.i18n.client.', 'TimeZone'), Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForClass('com.google.gwt.lang.', 'LongLibBase$LongEmul'), _3Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForArray('[Lcom.google.gwt.lang.', 'LongLibBase$LongEmul;'), Lcom_google_gwt_resources_client_impl_ImageResourcePrototype_2_classLit = createForClass('com.google.gwt.resources.client.impl.', 'ImageResourcePrototype'), Lcom_google_gwt_safehtml_shared_OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_2_classLit = createForClass('com.google.gwt.safehtml.shared.', 'OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml'), Lcom_google_gwt_safehtml_shared_SafeHtmlBuilder_2_classLit = createForClass('com.google.gwt.safehtml.shared.', 'SafeHtmlBuilder'), Lcom_google_gwt_safehtml_shared_SafeHtmlString_2_classLit = createForClass('com.google.gwt.safehtml.shared.', 'SafeHtmlString'), Lcom_google_gwt_text_shared_testing_PassthroughParser_2_classLit = createForClass('com.google.gwt.text.shared.testing.', 'PassthroughParser'), Lcom_google_gwt_text_shared_AbstractRenderer_2_classLit = createForClass('com.google.gwt.text.shared.', 'AbstractRenderer'), Lcom_google_gwt_text_shared_testing_PassthroughRenderer_2_classLit = createForClass('com.google.gwt.text.shared.testing.', 'PassthroughRenderer'), Lcom_google_gwt_text_shared_SimpleSafeHtmlRenderer_2_classLit = createForClass('com.google.gwt.text.shared.', 'SimpleSafeHtmlRenderer'), Lcom_google_gwt_user_client_ui_UIObject_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'UIObject'), Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Widget'), Lcom_google_gwt_user_cellview_client_AbstractHasData_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractHasData'), Lcom_google_gwt_user_cellview_client_AbstractHasData$View_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractHasData$View'), Lcom_google_gwt_user_cellview_client_AbstractHasData$View$1_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractHasData$View$1'), Lcom_google_gwt_user_cellview_client_AbstractHasData$View$2_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractHasData$View$2'), Lcom_google_gwt_user_cellview_client_CellBasedWidgetImpl_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellBasedWidgetImpl'), Lcom_google_gwt_user_cellview_client_CellBasedWidgetImplStandard_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellBasedWidgetImplStandard'), Lcom_google_gwt_user_cellview_client_CellTable$Impl_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellTable$Impl'), Lcom_google_gwt_user_cellview_client_CellTable_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellTable'), Lcom_google_gwt_user_cellview_client_CellTable$2_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellTable$2'), Lcom_google_gwt_user_cellview_client_CellTable_1Resources_1default_1InlineClientBundleGenerator_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellTable_Resources_default_InlineClientBundleGenerator'), Lcom_google_gwt_user_cellview_client_CellTable_1Resources_1default_1InlineClientBundleGenerator$1_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellTable_Resources_default_InlineClientBundleGenerator$1'), Lcom_google_gwt_user_cellview_client_CellTable_1TemplateImpl_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellTable_TemplateImpl'), Lcom_google_gwt_user_cellview_client_ColumnSortList_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'ColumnSortList'), Lcom_google_gwt_user_cellview_client_HasDataPresenter_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'HasDataPresenter'), Lcom_google_gwt_user_cellview_client_HasDataPresenter$DefaultState_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'HasDataPresenter$DefaultState'), Lcom_google_gwt_user_cellview_client_HasDataPresenter$PendingState_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'HasDataPresenter$PendingState'), Lcom_google_gwt_user_cellview_client_HasDataPresenter$2_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'HasDataPresenter$2'), Lcom_google_gwt_user_cellview_client_HasKeyboardPagingPolicy$KeyboardPagingPolicy_2_classLit = createForEnum('com.google.gwt.user.cellview.client.', 'HasKeyboardPagingPolicy$KeyboardPagingPolicy', Ljava_lang_Enum_2_classLit, values_5), _3Lcom_google_gwt_user_cellview_client_HasKeyboardPagingPolicy$KeyboardPagingPolicy_2_classLit = createForArray('[Lcom.google.gwt.user.cellview.client.', 'HasKeyboardPagingPolicy$KeyboardPagingPolicy;'), Lcom_google_gwt_user_cellview_client_Header_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'Header'), Lcom_google_gwt_user_cellview_client_TextHeader_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'TextHeader'), Lcom_google_gwt_user_client_impl_ElementMapperImpl_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'ElementMapperImpl'), Lcom_google_gwt_user_client_impl_ElementMapperImpl$FreeNode_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'ElementMapperImpl$FreeNode'), Lcom_google_gwt_user_client_impl_HistoryImpl_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImpl'), Lcom_google_gwt_user_client_impl_HistoryImplTimer_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImplTimer'), Lcom_google_gwt_user_client_impl_HistoryImplMozilla_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImplMozilla'), _3Ljava_lang_Object_2_classLit = createForArray('[Ljava.lang.', 'Object;'), Lcom_google_gwt_user_client_rpc_impl_AbstractSerializationStream_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'AbstractSerializationStream'), Lcom_google_gwt_user_client_rpc_impl_AbstractSerializationStreamReader_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'AbstractSerializationStreamReader'), Lcom_google_gwt_user_client_rpc_impl_AbstractSerializationStreamWriter_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'AbstractSerializationStreamWriter'), Lcom_google_gwt_user_client_rpc_impl_ClientSerializationStreamReader_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'ClientSerializationStreamReader'), Lcom_google_gwt_user_client_rpc_impl_ClientSerializationStreamWriter_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'ClientSerializationStreamWriter'), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter'), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader', Ljava_lang_Enum_2_classLit, values_6), _3Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit = createForArray('[Lcom.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader;'), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$1_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$1', Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit, null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$2_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$2', Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit, null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$3_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$3', Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit, null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$4_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$4', Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit, null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$5_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$5', Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit, null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$6_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$6', Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit, null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$7_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$7', Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit, null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$8_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$8', Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit, null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$9_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$9', Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit, null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$10_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$10', Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit, null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$11_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$11', Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit, null), Lcom_google_gwt_user_client_rpc_impl_RpcStatsContext_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'RpcStatsContext'), Lcom_google_gwt_user_client_rpc_IncompatibleRemoteServiceException_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'IncompatibleRemoteServiceException'), Lcom_google_gwt_user_client_rpc_InvocationException_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'InvocationException'), Lcom_google_gwt_user_client_rpc_RpcRequestBuilder_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'RpcRequestBuilder'), Lcom_google_gwt_user_client_rpc_SerializationException_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'SerializationException'), Lcom_google_gwt_user_client_rpc_ServiceDefTarget$NoServiceEntryPointSpecifiedException_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'ServiceDefTarget$NoServiceEntryPointSpecifiedException'), Lcom_google_gwt_user_client_rpc_StatusCodeException_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'StatusCodeException'), Lcom_google_gwt_user_client_ui_impl_PopupImplMozilla$1_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'PopupImplMozilla$1'), Lcom_google_gwt_user_client_ui_Panel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Panel'), Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ComplexPanel'), Lcom_google_gwt_user_client_ui_AbsolutePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AbsolutePanel'), Lcom_google_gwt_user_client_ui_FocusWidget_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FocusWidget'), Lcom_google_gwt_user_client_ui_Anchor_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Anchor'), Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException'), Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException$1'), Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException$2'), Lcom_google_gwt_user_client_ui_ButtonBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ButtonBase'), Lcom_google_gwt_user_client_ui_Button_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Button'), Lcom_google_gwt_user_client_ui_CellPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CellPanel'), Lcom_google_gwt_user_client_ui_Composite_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Composite'), Lcom_google_gwt_user_client_ui_CustomButton_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CustomButton'), Lcom_google_gwt_user_client_ui_CustomButton$Face_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CustomButton$Face'), Lcom_google_gwt_user_client_ui_CustomButton$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CustomButton$2'), Lcom_google_gwt_user_client_ui_SimplePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel'), Lcom_google_gwt_user_client_ui_PopupPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel'), Lcom_google_gwt_user_client_ui_DirectionalTextHelper_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DirectionalTextHelper'), _3Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'Widget;'), Lcom_google_gwt_user_client_ui_HTMLTable_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable'), Lcom_google_gwt_user_client_ui_Grid_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Grid'), Lcom_google_gwt_user_client_ui_LabelBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'LabelBase'), Lcom_google_gwt_user_client_ui_Label_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Label'), Lcom_google_gwt_user_client_ui_HTMLTable$CellFormatter_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$CellFormatter'), Lcom_google_gwt_user_client_ui_HTMLTable$ColumnFormatter_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$ColumnFormatter'), Lcom_google_gwt_user_client_ui_HTMLTable$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$1'), Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$AutoHorizontalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasHorizontalAlignment$AutoHorizontalAlignmentConstant'), Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasHorizontalAlignment$HorizontalAlignmentConstant'), Lcom_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasVerticalAlignment$VerticalAlignmentConstant'), Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HorizontalPanel'), Ljava_util_AbstractCollection_2_classLit = createForClass('java.util.', 'AbstractCollection'), Ljava_util_AbstractList_2_classLit = createForClass('java.util.', 'AbstractList'), Ljava_util_ArrayList_2_classLit = createForClass('java.util.', 'ArrayList'), Lcom_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$ResizeAnimation'), Lcom_google_gwt_user_client_ui_PopupPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$1'), Lcom_google_gwt_user_client_ui_PopupPanel$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$2'), Lcom_google_gwt_user_client_ui_PopupPanel$3_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$3'), Lcom_google_gwt_user_client_ui_PopupPanel$4_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$4'), Lcom_google_gwt_user_client_ui_PushButton_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PushButton'), Lcom_google_gwt_user_client_ui_RootPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel'), Lcom_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$DefaultRootPanel'), Lcom_google_gwt_user_client_ui_RootPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$1'), Lcom_google_gwt_user_client_ui_RootPanel$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$2'), Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel$1'), Lcom_google_gwt_user_client_ui_ValueBoxBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ValueBoxBase'), Lcom_google_gwt_user_client_ui_TextBoxBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TextBoxBase'), Lcom_google_gwt_user_client_ui_TextBox_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TextBox'), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment', Ljava_lang_Enum_2_classLit, values_7), _3Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment;'), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$1_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$1', Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit, null), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$2_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$2', Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit, null), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$3_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$3', Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit, null), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$4_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$4', Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit, null), Lcom_google_gwt_user_client_ui_VerticalPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'VerticalPanel'), Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection'), Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection$WidgetIterator'), Lcom_google_gwt_user_client_CommandCanceledException_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandCanceledException'), Lcom_google_gwt_user_client_CommandExecutor_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor'), Lcom_google_gwt_user_client_CommandExecutor$CircularIterator_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$CircularIterator'), Lcom_google_gwt_user_client_CommandExecutor$1_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$1'), Lcom_google_gwt_user_client_CommandExecutor$2_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$2'), Lcom_google_gwt_user_client_Event$NativePreviewEvent_2_classLit = createForClass('com.google.gwt.user.client.', 'Event$NativePreviewEvent'), Lcom_google_gwt_user_client_Timer$1_2_classLit = createForClass('com.google.gwt.user.client.', 'Timer$1'), Lcom_google_gwt_user_client_Window$ClosingEvent_2_classLit = createForClass('com.google.gwt.user.client.', 'Window$ClosingEvent'), Lcom_google_gwt_user_client_Window$WindowHandlers_2_classLit = createForClass('com.google.gwt.user.client.', 'Window$WindowHandlers'), Lcom_google_gwt_user_datepicker_client_CalendarModel_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'CalendarModel'), Lcom_google_gwt_user_datepicker_client_DatePickerComponent_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DatePickerComponent'), Lcom_google_gwt_user_datepicker_client_CalendarView_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'CalendarView'), Lcom_google_gwt_user_datepicker_client_CellGridImpl_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'CellGridImpl'), Lcom_google_gwt_user_datepicker_client_CellGridImpl$Cell_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'CellGridImpl$Cell'), Lcom_google_gwt_user_datepicker_client_DateBox$DefaultFormat_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DateBox$DefaultFormat'), Lcom_google_gwt_user_datepicker_client_DateBox_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DateBox'), Lcom_google_gwt_user_datepicker_client_DateBox$DateBoxHandler_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DateBox$DateBoxHandler'), Lcom_google_gwt_user_datepicker_client_DateBox$1_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DateBox$1'), Lcom_google_gwt_user_datepicker_client_DateChangeEvent_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DateChangeEvent'), Lcom_google_gwt_user_datepicker_client_DatePicker_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DatePicker'), Lcom_google_gwt_user_datepicker_client_DatePicker$StandardCss_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DatePicker$StandardCss'), Lcom_google_gwt_user_datepicker_client_DatePicker$DateHighlightEvent_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DatePicker$DateHighlightEvent'), Lcom_google_gwt_user_datepicker_client_DatePicker$DateStyler_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DatePicker$DateStyler'), Lcom_google_gwt_user_datepicker_client_DefaultCalendarView_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DefaultCalendarView'), Lcom_google_gwt_user_datepicker_client_DefaultCalendarView$CellGrid_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DefaultCalendarView$CellGrid'), Lcom_google_gwt_user_datepicker_client_DefaultCalendarView$CellGrid$DateCell_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DefaultCalendarView$CellGrid$DateCell'), Lcom_google_gwt_user_datepicker_client_MonthSelector_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'MonthSelector'), Lcom_google_gwt_user_datepicker_client_DefaultMonthSelector_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DefaultMonthSelector'), Lcom_google_gwt_user_datepicker_client_DefaultMonthSelector$1_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DefaultMonthSelector$1'), Lcom_google_gwt_user_datepicker_client_DefaultMonthSelector$2_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DefaultMonthSelector$2'), Lcom_google_gwt_view_client_CellPreviewEvent_2_classLit = createForClass('com.google.gwt.view.client.', 'CellPreviewEvent'), Lcom_google_gwt_view_client_DefaultSelectionEventManager_2_classLit = createForClass('com.google.gwt.view.client.', 'DefaultSelectionEventManager'), Lcom_google_gwt_view_client_Range_2_classLit = createForClass('com.google.gwt.view.client.', 'Range'), Ljava_lang_ArithmeticException_2_classLit = createForClass('java.lang.', 'ArithmeticException'), Ljava_lang_IndexOutOfBoundsException_2_classLit = createForClass('java.lang.', 'IndexOutOfBoundsException'), Ljava_lang_ArrayStoreException_2_classLit = createForClass('java.lang.', 'ArrayStoreException'), Ljava_lang_Boolean_2_classLit = createForClass('java.lang.', 'Boolean'), Ljava_lang_Number_2_classLit = createForClass('java.lang.', 'Number'), Ljava_lang_Byte_2_classLit = createForClass('java.lang.', 'Byte'), _3Ljava_lang_Byte_2_classLit = createForArray('[Ljava.lang.', 'Byte;'), Ljava_lang_Character_2_classLit = createForClass('java.lang.', 'Character'), _3Ljava_lang_Character_2_classLit = createForArray('[Ljava.lang.', 'Character;'), Ljava_lang_Class_2_classLit = createForClass('java.lang.', 'Class'), Ljava_lang_ClassCastException_2_classLit = createForClass('java.lang.', 'ClassCastException'), Ljava_lang_Double_2_classLit = createForClass('java.lang.', 'Double'), Ljava_lang_Float_2_classLit = createForClass('java.lang.', 'Float'), Ljava_lang_IllegalArgumentException_2_classLit = createForClass('java.lang.', 'IllegalArgumentException'), Ljava_lang_IllegalStateException_2_classLit = createForClass('java.lang.', 'IllegalStateException'), Ljava_lang_Integer_2_classLit = createForClass('java.lang.', 'Integer'), _3Ljava_lang_Integer_2_classLit = createForArray('[Ljava.lang.', 'Integer;'), Ljava_lang_Long_2_classLit = createForClass('java.lang.', 'Long'), _3Ljava_lang_Long_2_classLit = createForArray('[Ljava.lang.', 'Long;'), Ljava_lang_NullPointerException_2_classLit = createForClass('java.lang.', 'NullPointerException'), Ljava_lang_Short_2_classLit = createForClass('java.lang.', 'Short'), _3Ljava_lang_Short_2_classLit = createForArray('[Ljava.lang.', 'Short;'), Ljava_lang_StringBuffer_2_classLit = createForClass('java.lang.', 'StringBuffer'), Ljava_lang_StringBuilder_2_classLit = createForClass('java.lang.', 'StringBuilder'), Ljava_lang_UnsupportedOperationException_2_classLit = createForClass('java.lang.', 'UnsupportedOperationException'), Ljava_sql_Date_2_classLit = createForClass('java.sql.', 'Date'), Ljava_sql_Time_2_classLit = createForClass('java.sql.', 'Time'), Ljava_sql_Timestamp_2_classLit = createForClass('java.sql.', 'Timestamp'), Ljava_util_AbstractMap_2_classLit = createForClass('java.util.', 'AbstractMap'), Ljava_util_AbstractHashMap_2_classLit = createForClass('java.util.', 'AbstractHashMap'), Ljava_util_AbstractSet_2_classLit = createForClass('java.util.', 'AbstractSet'), Ljava_util_AbstractHashMap$EntrySet_2_classLit = createForClass('java.util.', 'AbstractHashMap$EntrySet'), Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit = createForClass('java.util.', 'AbstractHashMap$EntrySetIterator'), Ljava_util_AbstractMapEntry_2_classLit = createForClass('java.util.', 'AbstractMapEntry'), Ljava_util_AbstractHashMap$MapEntryNull_2_classLit = createForClass('java.util.', 'AbstractHashMap$MapEntryNull'), Ljava_util_AbstractHashMap$MapEntryString_2_classLit = createForClass('java.util.', 'AbstractHashMap$MapEntryString'), Ljava_util_AbstractList$IteratorImpl_2_classLit = createForClass('java.util.', 'AbstractList$IteratorImpl'), Ljava_util_AbstractList$ListIteratorImpl_2_classLit = createForClass('java.util.', 'AbstractList$ListIteratorImpl'), Ljava_util_AbstractList$SubList_2_classLit = createForClass('java.util.', 'AbstractList$SubList'), Ljava_util_AbstractMap$1_2_classLit = createForClass('java.util.', 'AbstractMap$1'), Ljava_util_AbstractMap$1$1_2_classLit = createForClass('java.util.', 'AbstractMap$1$1'), Ljava_util_AbstractSequentialList_2_classLit = createForClass('java.util.', 'AbstractSequentialList'), Ljava_util_Arrays$ArrayList_2_classLit = createForClass('java.util.', 'Arrays$ArrayList'), Ljava_util_Collections$EmptyList_2_classLit = createForClass('java.util.', 'Collections$EmptyList'), Ljava_util_Collections$SingletonList_2_classLit = createForClass('java.util.', 'Collections$SingletonList'), Ljava_util_Collections$UnmodifiableCollection_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableCollection'), Ljava_util_Collections$UnmodifiableList_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableList'), Ljava_util_Collections$UnmodifiableSet_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableSet'), Ljava_util_Collections$UnmodifiableRandomAccessList_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableRandomAccessList'), Ljava_util_Collections$UnmodifiableCollectionIterator_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableCollectionIterator'), Ljava_util_Collections$UnmodifiableListIterator_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableListIterator'), Ljava_util_HashMap_2_classLit = createForClass('java.util.', 'HashMap'), Ljava_util_HashSet_2_classLit = createForClass('java.util.', 'HashSet'), Ljava_util_IdentityHashMap_2_classLit = createForClass('java.util.', 'IdentityHashMap'), Ljava_util_LinkedList_2_classLit = createForClass('java.util.', 'LinkedList'), Ljava_util_LinkedList$ListIteratorImpl_2_classLit = createForClass('java.util.', 'LinkedList$ListIteratorImpl'), Ljava_util_LinkedList$Node_2_classLit = createForClass('java.util.', 'LinkedList$Node'), Ljava_util_MapEntryImpl_2_classLit = createForClass('java.util.', 'MapEntryImpl'), Ljava_util_NoSuchElementException_2_classLit = createForClass('java.util.', 'NoSuchElementException'), Ljava_util_Vector_2_classLit = createForClass('java.util.', 'Vector'), Ljava_util_Stack_2_classLit = createForClass('java.util.', 'Stack'), Ljava_util_TreeMap_2_classLit = createForClass('java.util.', 'TreeMap'), Ljava_util_TreeMap$EntryIterator_2_classLit = createForClass('java.util.', 'TreeMap$EntryIterator'), Ljava_util_TreeMap$EntrySet_2_classLit = createForClass('java.util.', 'TreeMap$EntrySet'), Ljava_util_TreeMap$Node_2_classLit = createForClass('java.util.', 'TreeMap$Node'), _3Ljava_util_TreeMap$Node_2_classLit = createForArray('[Ljava.util.', 'TreeMap$Node;'), Ljava_util_TreeMap$State_2_classLit = createForClass('java.util.', 'TreeMap$State'), Ljava_util_TreeMap$SubMapType_2_classLit = createForEnum('java.util.', 'TreeMap$SubMapType', Ljava_lang_Enum_2_classLit, values_8), _3Ljava_util_TreeMap$SubMapType_2_classLit = createForArray('[Ljava.util.', 'TreeMap$SubMapType;'), Ljava_util_TreeMap$SubMapType$1_2_classLit = createForEnum('java.util.', 'TreeMap$SubMapType$1', Ljava_util_TreeMap$SubMapType_2_classLit, null), Ljava_util_TreeMap$SubMapType$2_2_classLit = createForEnum('java.util.', 'TreeMap$SubMapType$2', Ljava_util_TreeMap$SubMapType_2_classLit, null), Ljava_util_TreeMap$SubMapType$3_2_classLit = createForEnum('java.util.', 'TreeMap$SubMapType$3', Ljava_util_TreeMap$SubMapType_2_classLit, null), Ljava_util_TreeSet_2_classLit = createForClass('java.util.', 'TreeSet');
$stats && $stats({moduleName:'achievingdreams',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalEnd'});
if ($wnd.achievingdreams) $wnd.achievingdreams.onScriptLoad();
--></script></body></html>
